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

Unable to build on Arch Linux #50

Open
h6899 opened this issue Apr 26, 2022 · 5 comments
Open

Unable to build on Arch Linux #50

h6899 opened this issue Apr 26, 2022 · 5 comments
Labels

Comments

@h6899
Copy link

h6899 commented Apr 26, 2022

Build Log: build.txt

@cryham
Copy link
Member

cryham commented May 8, 2022

Ok so e.g.
BaseApp_Create.cpp:501:64: error: incomplete type ‘Ogre::SceneManager’ used in nested name specifier
It seems like you have Ogre, which version is it? Probably latest 1.13 or so.
Could be some issue with wrong or missing Ogre includes (maybe we need Ogre.h not each one?).
Could you try to add in BaseApp_Create.cpp #include <Ogre.h> and see if errors from this file will vanish?

@AsciiWolf
Copy link
Contributor

Same issue when trying to build my Stunt Rally Flatpak using the recently released Stunt Rally 2.6.2:

/run/build/stuntrally/source/ogre/BaseApp.cpp: In member function ‘void BaseApp::updateStats()’:
/run/build/stuntrally/source/ogre/BaseApp.cpp:71:46: error: incomplete type ‘Ogre::TextureManager’ used in nested name specifier
   71 |                 size_t mem = TextureManager::getSingleton().getMemoryUsage() + MeshManager::getSingleton().getMemoryUsage();
      |                                              ^~~~~~~~~~~~
/run/build/stuntrally/source/ogre/BaseApp.cpp:71:93: error: incomplete type ‘Ogre::MeshManager’ used in nested name specifier
   71 |                 size_t mem = TextureManager::getSingleton().getMemoryUsage() + MeshManager::getSingleton().getMemoryUsage();
      |                                                                                             ^~~~~~~~~~~~
/run/build/stuntrally/source/ogre/BaseApp.cpp:77:69: error: incomplete type ‘Ogre::CompositorManager’ used in nested name specifier
   77 |                         CompositorChain* chain = CompositorManager::getSingleton().getCompositorChain (mSplitMgr->mViewports.front());
      |                                                                     ^~~~~~~~~~~~
/run/build/stuntrally/source/ogre/BaseApp.cpp:80:51: error: invalid use of incomplete type ‘class Ogre::CompositorChain’
   80 |                         for (size_t i=0; i < chain->getNumCompositors(); ++i)
      |                                                   ^~
/run/build/stuntrally/source/ogre/BaseApp.cpp:81:34: error: invalid use of incomplete type ‘class Ogre::CompositorChain’
   81 |                         if (chain->getCompositor(i)->getEnabled())
      |                                  ^~
/run/build/stuntrally/source/ogre/BaseApp.cpp:83:42: error: invalid use of incomplete type ‘class Ogre::CompositorChain’
   83 |                                 c = chain->getCompositor(i);
      |                                          ^~
/run/build/stuntrally/source/ogre/BaseApp.cpp:85:57: error: invalid use of incomplete type ‘class Ogre::CompositorInstance’
   85 |                                 for (size_t j = 0; j < c->getTechnique()->getNumTargetPasses(); ++j)
      |                                                         ^~
/run/build/stuntrally/source/ogre/BaseApp.cpp:87:68: error: invalid use of incomplete type ‘class Ogre::CompositorInstance’
   87 |                                         std::string textureName = c->getTechnique()->getTargetPass(j)->getOutputName();
      |                                                                    ^~
/run/build/stuntrally/source/ogre/BaseApp.cpp:88:47: error: invalid use of incomplete type ‘class Ogre::CompositorInstance’
   88 |                                         rt = c->getRenderTarget(textureName);
      |                                               ^~

...

/run/build/stuntrally/source/ogre/BaseApp_Create.cpp: In member function ‘void BaseApp::createFrameListener()’:
/run/build/stuntrally/source/ogre/BaseApp_Create.cpp:120:14: error: invalid use of incomplete type ‘class Ogre::Root’
  120 |         mRoot->addFrameListener(this);
      |              ^~
/run/build/stuntrally/source/ogre/BaseApp_Create.cpp: In member function ‘virtual void BaseApp::Run(bool)’:
/run/build/stuntrally/source/ogre/BaseApp_Create.cpp:133:22: error: invalid use of incomplete type ‘class Ogre::Root’
  133 |                 mRoot->startRendering();  // default
      |                      ^~

@AsciiWolf
Copy link
Contributor

AsciiWolf commented Jun 2, 2022

@Calinou I see that you were able to successfully compile the latest master. What OGRE version did you use?

edit: Here is the Flatpak manifest that I use.

@Calinou
Copy link
Contributor

Calinou commented Jun 2, 2022

@Calinou I see that you were able to successfully compile the latest master. What OGRE version did you use?

I'm using OGRE 1.9 from the Fedora 36 repositories, as it's still packaged for use in that distribution.

@AsciiWolf
Copy link
Contributor

Ah. OGRE 1.9 is quite outdated. I am using 13.0.1 in the Flatpak. I guess I will try older version, although @paroj seems to have it working with latest OGRE 1.13.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants