First post, by SoftPCMuseum_
While IBMulator 0.8 is restricted to the 80286-based IBM PS/1 Model 2011, the latest source code on the other hand recently added support for the 80386-based IBM PS/1 Model 2121. For this reason entirely, I'm trying to compile IBMulator for Windows, however, I have found a serious problem here.
The problem here is that the program specifically requires a special version of libRocket (downloaded from the IBMulator repository), following all of the instructions in the files that the author provided. However, the compile process for libRocket fails completely with the following errors:
C:\MinGW\libRocket\Build>mingw32-makeScanning dependencies of target RocketCore[ 1%] Building CXX object CMakeFiles/RocketCore.dir/C_/MinGW/libRocket/Source/Core/BaseXMLParser.cpp.objIn file included from c:\mingw\librocket\include\rocket\core\core.h:31:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\Types.h:84:9: error: 'uintptr_t' does not name a typetypedef uintptr_t FileHandle;^c:\mingw\librocket\include\rocket\core\Types.h:85:9: error: 'uintptr_t' does not name a typetypedef uintptr_t TextureHandle;^c:\mingw\librocket\include\rocket\core\Types.h:86:9: error: 'uintptr_t' does not name a typetypedef uintptr_t CompiledGeometryHandle;^c:\mingw\librocket\include\rocket\core\Types.h:87:9: error: 'uintptr_t' does not name a typetypedef uintptr_t DecoratorDataHandle;^In file included from c:\mingw\librocket\include\rocket\core\Decorator.h:34:0,from c:\mingw\librocket\include\rocket\core\core.h:37,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\Texture.h:67:2: error: 'TextureHandle' does not name a typeTextureHandle GetHandle(RenderInterface* render_interface) const;^In file included from c:\mingw\librocket\include\rocket\core\core.h:37:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\Decorator.h:62:10: error: 'DecoratorDataHandle' does not name a typevirtual DecoratorDataHandle GenerateElementData(Element* element) = 0;^c:\mingw\librocket\include\rocket\core\Decorator.h:65:34: error: 'DecoratorDataHandle' has not been declaredvirtual void ReleaseElementData(DecoratorDataHandle element_data) = 0;^c:\mingw\librocket\include\rocket\core\Decorator.h:86:47: error: 'DecoratorDataHandle' has not been declaredvirtual void RenderElement(Element* element, DecoratorDataHandle element_data) = 0;^c:\mingw\librocket\include\rocket\core\Decorator.h:89:15: error: 'DecoratorDataHandle' does not name a typestatic const DecoratorDataHandle INVALID_DECORATORDATAHANDLE = 0;^In file included from c:\mingw\librocket\include\rocket\core\PropertySpecification.h:32:0,from c:\mingw\librocket\include\rocket\core\DecoratorInstancer.h:34,from c:\mingw\librocket\include\rocket\core\core.h:38,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\Element.h:342:107: error: 'DecoratorDataHandle' has not been declaredbool IterateDecorators(int& index, PseudoClassList& pseudo_classes, String& name, Decorator*& decorator, DecoratorDataHandle& decorator_data);^In file included from c:\mingw\librocket\include\rocket\core\core.h:52:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\FileInterface.h:57:10: error: 'FileHandle' does not name a typevirtual FileHandle Open(const String& path) = 0;^c:\mingw\librocket\include\rocket\core\FileInterface.h:60:21: error: 'FileHandle' has not been declaredvirtual void Close(FileHandle file) = 0;^c:\mingw\librocket\include\rocket\core\FileInterface.h:67:49: error: 'FileHandle' has not been declaredvirtual size_t Read(void* buffer, size_t size, FileHandle file) = 0;^
In file included from c:\mingw\librocket\include\rocket\core\core.h:52:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\FileInterface.h:73:20: error: 'FileHandle' has not been declaredvirtual bool Seek(FileHandle file, long offset, int origin) = 0;^c:\mingw\librocket\include\rocket\core\FileInterface.h:77:22: error: 'FileHandle' has not been declaredvirtual size_t Tell(FileHandle file) = 0;^c:\mingw\librocket\include\rocket\core\FileInterface.h:83:24: error: 'FileHandle' has not been declaredvirtual size_t Length(FileHandle file);^In file included from c:\mingw\librocket\include\rocket\core\core.h:57:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\Geometry.h:91:2: error: 'CompiledGeometryHandle' does not name a typeCompiledGeometryHandle compiled_geometry;^In file included from c:\mingw\librocket\include\rocket\core\core.h:67:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\RenderInterface.h:62:97: error: 'TextureHandle' has not been declaredvirtual void RenderGeometry(Vertex* vertices, int num_vertices, int* indices, int num_indices, TextureHandle texture, const Vector2f& translation) = 0;^In file included from c:\mingw\librocket\include\rocket\core\core.h:67:0,from C:\MinGW\libRocket\Source\Core\precompiled.h:31,from C:\MinGW\libRocket\Source\Core\BaseXMLParser.cpp:28:c:\mingw\librocket\include\rocket\core\RenderInterface.h:73:10: error: 'CompiledGeometryHandle' does not name a typevirtual CompiledGeometryHandle CompileGeometry(Vertex* vertices, int num_vertices, int* indices, int num_indices, TextureHandle texture);^c:\mingw\librocket\include\rocket\core\RenderInterface.h:77:38: error: 'CompiledGeometryHandle' has not been declaredvirtual void RenderCompiledGeometry(CompiledGeometryHandle geometry, const Vector2f& translation);^c:\mingw\librocket\include\rocket\core\RenderInterface.h:80:39: error: 'CompiledGeometryHandle' has not been declaredvirtual void ReleaseCompiledGeometry(CompiledGeometryHandle geometry);^c:\mingw\librocket\include\rocket\core\RenderInterface.h:97:27: error: 'TextureHandle' has not been declaredvirtual bool LoadTexture(TextureHandle& texture_handle, Vector2i& texture_dimensions, const String& source);^c:\mingw\librocket\include\rocket\core\RenderInterface.h:103:31: error: 'TextureHandle' has not been declaredvirtual bool GenerateTexture(TextureHandle& texture_handle, const byte* source, const Vector2i& source_dimensions);^c:\mingw\librocket\include\rocket\core\RenderInterface.h:106:30: error: 'TextureHandle' has not been declaredvirtual void ReleaseTexture(TextureHandle texture);^CMakeFiles\RocketCore.dir\build.make:57: recipe for target 'CMakeFiles/RocketCore.dir/C_/MinGW/libRocket/Source/Core/BaseXMLParser.cpp.obj' failedmingw32-make[2]: *** [CMakeFiles/RocketCore.dir/C_/MinGW/libRocket/Source/Core/BaseXMLParser.cpp.obj] Error 1CMakeFiles\Makefile2:97: recipe for target 'CMakeFiles/RocketCore.dir/all' failedmingw32-make[1]: *** [CMakeFiles/RocketCore.dir/all] Error 2Makefile:115: recipe for target 'all' failedmingw32-make: *** [all] Error 2C:\MinGW\libRocket\Build>
The reason for why I'm trying to compile this on Windows is that not only am I looking for a way to easily build the source on Windows itself (since that's what I'm compiling it for), but also because of the fact that running Linux inside of a virtual machine is far more resource-intensive than just running the MinGW environment, meaning that the latter would only be used as a last resort. I followed the instructions on the project's page, but they appear to be incorrect since libRocket did NOT compile correctly as seen above.
I already have experience with building emulators since I already develop and compile my own emulator (based off of PCE) daily, though its support for the IBM PS/2 series and the Intel 80386 CPU are both still in their early stages, and even 86box's IBM PS/1 Model 2121 emulation still has lot's of problems, which is why I'm trying to compile the latest IBMulator source code so that I can use that until my own emulator's 80386 CPU support is more complete.