stuntrally / stuntrally3

3D racing game with own Track Editor. The main repository with Stunt Rally 3 sources and data. Continuation of Stunt Rally 2.x using Ogre-Next 3.0.
https://stuntrally.tuxfamily.org/
GNU General Public License v3.0
128 stars 8 forks source link

mygui-next (required by this project) doesn't build against latest ogre-next 3.0.0 #40

Open Apteryks opened 6 days ago

Apteryks commented 6 days ago

Describe the issue

Working toward a stuntrally package in GNU Guix, I tried to package mygui-next using Ogre-Next 3.0.0 (that came out very recently). Sadly, it fails to build due to now-missing includes, it seems:

[ 93%] Building CXX object Plugins/Plugin_StrangeButton/CMakeFiles/Plugin_StrangeButton.dir/StrangeButton.cpp.o
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Plugins/Plugin_StrangeButton && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -DPlugin_StrangeButton_EXPORTS -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/. -w -O2 -g -DNDEBUG -fPIC   -fPIC -D_USRDLL -DMYGUI_BUILD_DLL -DMYGUI_GCC_VISIBILITY -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -MD -MT Plugins/Plugin_StrangeButton/CMakeFiles/Plugin_StrangeButton.dir/Plugin.cpp.o -MF CMakeFiles/Plugin_StrangeButton.dir/Plugin.cpp.o.d -o CMakeFiles/Plugin_StrangeButton.dir/Plugin.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/Plugin.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Plugins/Plugin_StrangeButton && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -DPlugin_StrangeButton_EXPORTS -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/. -w -O2 -g -DNDEBUG -fPIC   -fPIC -D_USRDLL -DMYGUI_BUILD_DLL -DMYGUI_GCC_VISIBILITY -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -MD -MT Plugins/Plugin_StrangeButton/CMakeFiles/Plugin_StrangeButton.dir/Plugin_Export.cpp.o -MF CMakeFiles/Plugin_StrangeButton.dir/Plugin_Export.cpp.o.d -o CMakeFiles/Plugin_StrangeButton.dir/Plugin_Export.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/Plugin_Export.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataStream.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataStream.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataStream.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreDataStream.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Plugins/Plugin_StrangeButton && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -DPlugin_StrangeButton_EXPORTS -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/. -w -O2 -g -DNDEBUG -fPIC   -fPIC -D_USRDLL -DMYGUI_BUILD_DLL -DMYGUI_GCC_VISIBILITY -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -MD -MT Plugins/Plugin_StrangeButton/CMakeFiles/Plugin_StrangeButton.dir/StrangeButton.cpp.o -MF CMakeFiles/Plugin_StrangeButton.dir/StrangeButton.cpp.o.d -o CMakeFiles/Plugin_StrangeButton.dir/StrangeButton.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Plugins/Plugin_StrangeButton/StrangeButton.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataManager.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataManager.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreDataManager.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreDataManager.cpp
[ 94%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.o
[ 95%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.o
[ 96%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreVertexBuffer.cpp.o
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp
[ 97%] Building CXX object Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreTexture.cpp.o
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRenderManager.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreVertexBuffer.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreVertexBuffer.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreVertexBuffer.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreVertexBuffer.cpp
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Platforms/Ogre/OgrePlatform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include -I/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE -w -O2 -g -DNDEBUG   -fPIC -std=gnu++11 -MD -MT Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreTexture.cpp.o -MF CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreTexture.cpp.o.d -o CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreTexture.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreTexture.cpp
In file included from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreTexture.cpp:8:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreTexture.h:15:10: fatal error: OgreTexture.h: No such file or directory
   15 | #include <OgreTexture.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/build.make:135: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreTexture.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreVertexBuffer.cpp:7:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreVertexBuffer.h:18:10: fatal error: OgreTextureManager.h: No such file or directory
   18 | #include <OgreTextureManager.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/build.make:149: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreVertexBuffer.cpp.o] Error 1
In file included from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRenderManager.cpp:9:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreTexture.h:15:10: fatal error: OgreTexture.h: No such file or directory
   15 | #include <OgreTexture.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/build.make:121: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRenderManager.cpp.o] Error 1
[ 98%] Linking CXX shared library ../../bin/Plugin_StrangeButton.so
cd /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/Plugins/Plugin_StrangeButton && /gnu/store/jjxafj2r8np0ay9q6y554xj7b32dxn98-cmake-minimal-3.24.2/bin/cmake -E cmake_link_script CMakeFiles/Plugin_StrangeButton.dir/link.txt --verbose=1
/gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++ -fPIC  -w -O2 -g -DNDEBUG -shared -Wl,-soname,Plugin_StrangeButton.so -o ../../bin/Plugin_StrangeButton.so CMakeFiles/Plugin_StrangeButton.dir/Plugin.cpp.o CMakeFiles/Plugin_StrangeButton.dir/Plugin_Export.cpp.o CMakeFiles/Plugin_StrangeButton.dir/StrangeButton.cpp.o  -Wl,-rpath,/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build/lib:::::::::::::::: ../../lib/libMyGUIEngine.so.3.4.0 -ldl -lfreetype -lz 
make[2]: Leaving directory '/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build'
[ 98%] Built target Plugin_StrangeButton
In file included from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:8:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRTTexture.h:24:47: error: expected ‘)’ before ‘_texture’
   24 |                 OgreRTTexture(Ogre::TexturePtr _texture);
      |                              ~                ^~~~~~~~~
      |                                               )
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRTTexture.h:40:23: error: ‘TexturePtr’ in namespace ‘Ogre’ does not name a type; did you mean ‘TexturePool’?
   40 |                 Ogre::TexturePtr mTexture;
      |                       ^~~~~~~~~~
      |                       TexturePool
In file included from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:9:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:31:39: error: ‘Ogre::RenderWindow’ has not been declared
   31 |                 void initialise(Ogre::RenderWindow* _window, Ogre::SceneManager* _scene);
      |                                       ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:72:44: error: ‘Ogre::RenderWindow’ has not been declared
   72 |                 void setRenderWindow(Ogre::RenderWindow* _window);
      |                                            ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:83:23: error: ‘RenderWindow’ in namespace ‘Ogre’ does not name a type
   83 |                 Ogre::RenderWindow* getRenderWindow();
      |                       ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:104:50: error: ‘Ogre::RenderWindow’ has not been declared
  104 |                 virtual void windowResized(Ogre::RenderWindow* _window);
      |                                                  ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:123:23: error: ‘RenderWindow’ in namespace ‘Ogre’ does not name a type
  123 |                 Ogre::RenderWindow* mWindow;
      |                       ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRenderManager.h:130:23: error: ‘Sampler’ in namespace ‘Ogre’ does not name a type
  130 |                 Ogre::Sampler::UVWAddressingMode mTextureAddressMode;
      |                       ^~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:14:37: error: expected constructor, destructor, or type conversion before ‘(’ token
   14 |         OgreRTTexture::OgreRTTexture(Ogre::TexturePtr _texture) :
      |                                     ^
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp: In member function ‘virtual void MyGUI::OgreRTTexture::begin()’:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:49:23: error: ‘RenderTexture’ is not a member of ‘Ogre’; did you mean ‘RenderQueue’?
   49 |                 Ogre::RenderTexture* rtt = mTexture->getBuffer()->getRenderTarget();
      |                       ^~~~~~~~~~~~~
      |                       RenderQueue
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:49:38: error: ‘rtt’ was not declared in this scope
   49 |                 Ogre::RenderTexture* rtt = mTexture->getBuffer()->getRenderTarget();
      |                                      ^~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:49:44: error: ‘mTexture’ was not declared in this scope; did you mean ‘ITexture’?
   49 |                 Ogre::RenderTexture* rtt = mTexture->getBuffer()->getRenderTarget();
      |                                            ^~~~~~~~
      |                                            ITexture
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:54:36: error: ‘class Ogre::Viewport’ has no member named ‘setClearEveryFrame’
   54 |                         mViewport->setClearEveryFrame(false);
      |                                    ^~~~~~~~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:60:41: error: ‘class Ogre::RenderSystem’ has no member named ‘_getViewport’
   60 |                 mSaveViewport = system->_getViewport();
      |                                         ^~~~~~~~~~~~
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:61:25: error: ‘class Ogre::RenderSystem’ has no member named ‘_setViewport’; did you mean ‘_setViewMatrix’?
   61 |                 system->_setViewport(mViewport);
      |                         ^~~~~~~~~~~~
      |                         _setViewMatrix
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:62:41: error: no matching function for call to ‘Ogre::RenderSystem::clearFrameBuffer(Ogre::FrameBufferType, const Ogre::ColourValue&)’
   62 |                 system->clearFrameBuffer(Ogre::FBT_COLOUR, Ogre::ColourValue::ZERO);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE/Ogre.h:85,
                 from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/include/MyGUI_OgreRTTexture.h:13,
                 from /tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:8:
/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE/OgreRenderSystem.h:1214:22: note: candidate: ‘virtual void Ogre::RenderSystem::clearFrameBuffer(Ogre::RenderPassDescriptor*, Ogre::TextureGpu*, Ogre::uint8)’
 1214 |         virtual void clearFrameBuffer( RenderPassDescriptor *renderPassDesc, TextureGpu *anyTarget,
      |                      ^~~~~~~~~~~~~~~~
/gnu/store/lmz5cjbdwwgy5wkwgj06w967hsld7g66-ogre-next-3.0.0/include/OGRE/OgreRenderSystem.h:1214:22: note:   candidate expects 3 arguments, 2 provided
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp: In member function ‘virtual void MyGUI::OgreRTTexture::end()’:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:68:25: error: ‘class Ogre::RenderSystem’ has no member named ‘_setViewport’; did you mean ‘_setViewMatrix’?
   68 |                 system->_setViewport(mSaveViewport);
      |                         ^~~~~~~~~~~~
      |                         _setViewMatrix
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp: In member function ‘virtual void MyGUI::OgreRTTexture::doRender(MyGUI::IVertexBuffer*, MyGUI::ITexture*, size_t)’:
/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/source/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRTTexture.cpp:79:89: error: ‘mTexture’ was not declared in this scope; did you mean ‘ITexture’?
   79 |                 OgreRenderManager::getInstance().doRenderRtt(_buffer, _texture, _count, mTexture->getBuffer()->getRenderTarget()->requiresTextureFlipping());
      |                                                                                         ^~~~~~~~
      |                                                                                         ITexture
make[2]: *** [Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/build.make:107: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/src/MyGUI_OgreRTTexture.cpp.o] Error 1
make[2]: Leaving directory '/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:229: Platforms/Ogre/OgrePlatform/CMakeFiles/MyGUI.OgrePlatform.dir/all] Error 2
make[1]: Leaving directory '/tmp/guix-build-mygui-next-3.2.3-0.0726ed4.drv-0/build'
make: *** [Makefile:139: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "32") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 7.7 seconds
command "make" "-j" "32" failed with status 2
build process 18 exited with status 256
builder for `/gnu/store/rzzgahn42s354q2gfh12xkna4gfv8fxb-mygui-next-3.2.3-0.0726ed4.drv' failed with exit code 1
build of /gnu/store/rzzgahn42s354q2gfh12xkna4gfv8fxb-mygui-next-3.2.3-0.0726ed4.drv failed
View build log at '/var/log/guix/drvs/rz/zgahn42s354q2gfh12xkna4gfv8fxb-mygui-next-3.2.3-0.0726ed4.drv'.
guix build: error: build of `/gnu/store/rzzgahn42s354q2gfh12xkna4gfv8fxb-mygui-next-3.2.3-0.0726ed4.drv' failed

Desktop (please complete the following information):

cryham commented 6 days ago

This is looking like mygui-next didn't find ogre-next at all. Are you building mygui-next on its own? Or using my script to build all? https://github.com/stuntrally/stuntrally3/blob/main/build-sr3-Linux.py Are you sure you have got the ogre3 branch and have the same folder tree as I wrote there: https://github.com/cryham/mygui-next/tree/ogre3 BTW. does the SR 3.2 Linux binary work on Guix?

Apteryks commented 6 days ago

I was using the master branch; I'll retry using the ogre3 branch and keep you updated. I'm building mygui-next as its own package, not using the Python script, as this is how we try to package things in Guix (one package == one software, no bundled sources if possible, no network access during build, etc.).

I haven't tried the Linux binary yet; typically those do not work on Guix without setting up some kind of FHS (file hierarchy standard) container, which can be done with guix shell --emulate-fhs.

Thanks for your answer!

Apteryks commented 2 days ago

OK, I'm now using the latest commit of the ogre3 branch, trying to build it against ogre-next 3.0.0, and this is what I now get:

[ 95%] Building CXX object Platforms/Ogre2/Ogre2Platform/CMakeFiles/MyGUI.Ogre2Platform.dir/src/MyGUI_Ogre2RenderManager.cpp.o
cd /tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/build/Platforms/Ogre2/Ogre2Platform && /gnu/store/86fc8bi3mciljxz7c79jx8zr4wsx7xw8-gcc-11.4.0/bin/c++  -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/source/MyGUIEngine/include -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/source/Platforms/Ogre2/Ogre2Platform/include -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/Ogre/ogre-next/build/RelWithDebInfo/include -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/Ogre/ogre-next/OgreMain/include -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/Ogre/ogre-next/Components/Hlms/Unlit/include -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/Ogre/ogre-next/Components/Hlms/Common/include -w -O2 -g -DNDEBUG   -fPIC -MD -MT Platforms/Ogre2/Ogre2Platform/CMakeFiles/MyGUI.Ogre2Platform.dir/src/MyGUI_Ogre2RenderManager.cpp.o -MF CMakeFiles/MyGUI.Ogre2Platform.dir/src/MyGUI_Ogre2RenderManager.cpp.o.d -o CMakeFiles/MyGUI.Ogre2Platform.dir/src/MyGUI_Ogre2RenderManager.cpp.o -c /tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/source/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp
In file included from /tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/source/Platforms/Ogre2/Ogre2Platform/src/MyGUI_Ogre2RenderManager.cpp:9:
/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/source/Platforms/Ogre2/Ogre2Platform/include/MyGUI_Ogre2Texture.h:24:10: fatal error: OgreHlmsUnlitDatablock.h: No such file or directory
   24 | #include <OgreHlmsUnlitDatablock.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Platforms/Ogre2/Ogre2Platform/CMakeFiles/MyGUI.Ogre2Platform.dir/build.make:121: Platforms/Ogre2/Ogre2Platform/CMakeFiles/MyGUI.Ogre2Platform.dir/src/MyGUI_Ogre2RenderManager.cpp.o] Error 1
make[2]: Leaving directory '/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:196: Platforms/Ogre2/Ogre2Platform/CMakeFiles/MyGUI.Ogre2Platform.dir/all] Error 2
make[1]: Leaving directory '/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/build'
make: *** [Makefile:139: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 66.4 seconds
command "make" "-j" "1" failed with status 2

Any ideas?

cryham commented 2 days ago

Well, MyGUI can't find Ogre file OgreHlmsUnlitDatablock.h. This one is needed. I'd first check if it exist there, I got it here: ../Ogre/ogre-next/Components/Hlms/Unlit/include. If it does, then it means path is missing or wrong? In your command it is this: -I/tmp/guix-build-mygui-next-3.2.3-0.a1490ff.drv-0/Ogre/ogre-next/Components/Hlms/Unlit/include I'd expect that file there and if so this command should build.