Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Apteryks opened this issue Oct 29, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@Apteryks
Copy link

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):

@Apteryks Apteryks added the bug Something isn't working label Oct 29, 2024
@cryham
Copy link
Member

cryham commented Oct 29, 2024

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
Copy link
Author

Apteryks commented Oct 29, 2024

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 Apteryks changed the title myguix-next (required by this project) doesn't build against latest ogre-next 3.0.0 mygui-next (required by this project) doesn't build against latest ogre-next 3.0.0 Oct 31, 2024
@Apteryks
Copy link
Author

Apteryks commented Nov 2, 2024

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
Copy link
Member

cryham commented Nov 2, 2024

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.

@Apteryks
Copy link
Author

Apteryks commented Nov 5, 2024

Indeed. I'll check if I can make use of the FindOGRE.cmake more effictively to locate my system-provided Ogre-Next library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants