Hi,
maybe this is a really nooby question, but i don't know where to set the Ogre3D path when I build CEGUI.
I found that page:
http://www.cegui.org.uk/wiki/index.php/ ... reRenderer
And I set the paths there, but when i run ./configure the changes don't work. So is configure.lua only for windows or did I do it wrong?
Thanks, Fdot
Edit: I also tried running bootstrap:
~/Downloads/CEGUI-0.7.2$ ./bootstrap
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Automake 1.9 and Autoconf are installed.
Setting Ogre dir on Linux
Moderators: CEGUI MVP, CEGUI Team
Re: Setting Ogre dir on Linux
The lua build stuff is for premake which is for windows (as far as I've ever used it, anyway)
For linux, use the autoconf things like you have. What you need to do to find ogre is either use pkg-config or use Ogre_CFLAGS and Ogre_LIBS (I forget the exact names, but something like that).
Using pkg-config is vastly better. To do it, what you need to do is type pkg-config OGRE --cflags. If you get output, then you can just run ./configure with whatever other options you want.
If you don't get output, you need to update PKG_CONFIG_PREFIX e.g. export PKG_CONFIG_PREFIX=/path/to/where/ogre/lib/pkgconfig is.
You've probably seen http://www.cegui.org.uk/wiki/index.php/ ... subversion, but that's a good guide.
For linux, use the autoconf things like you have. What you need to do to find ogre is either use pkg-config or use Ogre_CFLAGS and Ogre_LIBS (I forget the exact names, but something like that).
Using pkg-config is vastly better. To do it, what you need to do is type pkg-config OGRE --cflags. If you get output, then you can just run ./configure with whatever other options you want.
If you don't get output, you need to update PKG_CONFIG_PREFIX e.g. export PKG_CONFIG_PREFIX=/path/to/where/ogre/lib/pkgconfig is.
You've probably seen http://www.cegui.org.uk/wiki/index.php/ ... subversion, but that's a good guide.
Re: Setting Ogre dir on Linux
Thanks for your answer. Yeah that helped. But I think that PKG_CONFIG_PATH is the right one? After using that it works. The problem is that this overwrites the path and doesn't add a new one. I have OIS installed also. So i copied the OGRE.pc and OIS.pc file to /usr/lib/pkgconfig and it runs.
Re: Setting Ogre dir on Linux
Okay another problem. Now he doesn't find boost (is needed for OGRE). In boost is no boost.pc. I wrote one by myself, but that doesn't work. How can I solve this?
-
- Not too shy to talk
- Posts: 45
- Joined: Wed Aug 25, 2010 00:32
- Location: Buenos Aires - Argentina
Re: Setting Ogre dir on Linux
Fdot wrote:Thanks for your answer. Yeah that helped. But I think that PKG_CONFIG_PATH is the right one? After using that it works. The problem is that this overwrites the path and doesn't add a new one. I have OIS installed also. So i copied the OGRE.pc and OIS.pc file to /usr/lib/pkgconfig and it runs.
This is from pkg-config man page:
pkg-config retrieves information about packages from special metadata files. These files are named after the package, with the extension .pc. By default, pkg-config looks in the directory prefix/lib/pkgconfig for these files; it will also look in the colon-separated (on Windows, semicolon-separated) list of directories specified by the PKG_CONFIG_PATH environment variable.
man is you friend =D
Re: Setting Ogre dir on Linux
yeah sorry i meant _PATH, I was at work and not in front of a real computer to test it
Re: Setting Ogre dir on Linux
Fdot wrote:Okay another problem. Now he doesn't find boost (is needed for OGRE). In boost is no boost.pc. I wrote one by myself, but that doesn't work. How can I solve this?
okay I solved this too, by editin my OGRE.pc file:
prefix=/home/michi/workspace/i6m2etis/dependencies/Ogre3D/
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include
plugindir=${libdir}/OGRE
Name: OGRE
Description: Object-Oriented Graphics Rendering Engine
Version: 1.7.1
URL: http://www.ogre3d.org
Libs: -L${libdir} -lOgreMain -lpthread -L/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/lib -lboost_thread -lboost_filesystem -lboost_system -lboost_date_time
Cflags: -I${includedir} -I${includedir}/OGRE -pthread -I/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/include/boost -I/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/include
So the boost problem is gone. When I run make I got errors, that the compiler doesn't find Ogre:
Code: Select all
Making all in Demo6
make[2]: Entering directory `/home/michi/Downloads/CEGUI-0.7.2/Samples/Demo6'
/bin/bash ../../libtool --tag=CXX --mode=link g++ -g -O2 -o Demo6 Demo6-Sample_Demo6.o ../../cegui/src/libCEGUIBase.la ../../Samples/common/src/libCEGUISampleHelper.la -lpthread -ldl
libtool: link: g++ -g -O2 -o .libs/Demo6 Demo6-Sample_Demo6.o ../../cegui/src/.libs/libCEGUIBase.so ../../Samples/common/src/.libs/libCEGUISampleHelper.so -lpthread -ldl
/usr/bin/ld: warning: libOgreMain.so.1.7.1, needed by ../../Samples/common/src/.libs/libCEGUISampleHelper.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_thread.so.1.43.0, needed by ../../Samples/common/src/.libs/libCEGUISampleHelper.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_filesystem.so.1.43.0, needed by ../../Samples/common/src/.libs/libCEGUISampleHelper.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_system.so.1.43.0, needed by ../../Samples/common/src/.libs/libCEGUISampleHelper.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_date_time.so.1.43.0, needed by ../../Samples/common/src/.libs/libCEGUISampleHelper.so, not found (try using -rpath or -rpath-link)
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::Root(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::StringUtil::BLANK'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::createSceneManager(unsigned short, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::~Root()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Quaternion::operator*(Ogre::Quaternion const&) const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::~Image()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::getData()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Math::fDeg2Rad'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::ResourceGroupManager::findResourceNames(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Matrix4::inverse() const'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::ResourceGroupManager::createResourceGroup(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::ColourValue::White'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::TextureManager::getSingleton()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::VertexData::~VertexData()'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::startRendering()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Viewport::getTarget() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Viewport::Viewport(Ogre::Camera*, Ogre::RenderTarget*, float, float, float, float, int)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Root::getAutoCreatedWindow()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Matrix4::IDENTITY'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Viewport::getActualWidth() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::getHeight() const'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::initialise(bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Camera::lookAt(Ogre::Vector3 const&)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::getWidth() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Quaternion::ToRotationMatrix(Ogre::Matrix3&) const'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Viewport::getActualHeight() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::Image()'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `typeinfo for Ogre::Exception'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::getRowSpan() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Vector3::UNIT_Y'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::getFormat() const'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Image::load(Ogre::SharedPtr<Ogre::DataStream>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Quaternion::FromAngleAxis(Ogre::Radian const&, Ogre::Vector3 const&)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::VertexData::VertexData(Ogre::HardwareBufferManagerBase*)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::ResourceGroupManager::addResourceLocation(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Vector3::UNIT_Z'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::ResourceGroupManager::getSingleton()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Viewport::setDimensions(float, float, float, float)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Matrix4::ZERO'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::ResourceGroupManager::initialiseAllResourceGroups()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::HardwareBufferManager::getSingleton()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Root::getSingletonPtr()'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::WindowEventUtilities::addWindowEventListener(Ogre::RenderWindow*, Ogre::WindowEventListener*)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Viewport::setBackgroundColour(Ogre::ColourValue const&)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Vector3::UNIT_X'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Root::removeFrameListener(Ogre::FrameListener*)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::showConfigDialog()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::ResourceGroupManager::openResource(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, Ogre::Resource*)'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Root::addFrameListener(Ogre::FrameListener*)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::VertexElement::getTypeSize(Ogre::VertexElementType)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Matrix3::ZERO'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Root::getRenderSystem()'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::Viewport::_updateDimensions()'
../../Samples/common/src/.libs/libCEGUISampleHelper.so: undefined reference to `Ogre::Camera::setPosition(Ogre::Vector3 const&)'
/home/michi/Downloads/CEGUI-0.7.2/cegui/src/RendererModules/Ogre/.libs/libCEGUIOgreRenderer-0.7.2.so: undefined reference to `Ogre::MemoryDataStream::MemoryDataStream(void*, unsigned long, bool, bool)'
collect2: ld returned 1 exit status
make[2]: *** [Demo6] Error 1
make[2]: Leaving directory `/home/michi/Downloads/CEGUI-0.7.2/Samples/Demo6'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/michi/Downloads/CEGUI-0.7.2/Samples'
make: *** [all-recursive] Error 1
Do I have to set Ogre somewhere else?
Re: Setting Ogre dir on Linux
Sry for second post.
Maybe it is possible to deactivate the samples, but I'm not sure if there are problems later in using the gui?
Maybe it is possible to deactivate the samples, but I'm not sure if there are problems later in using the gui?
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: Setting Ogre dir on Linux
you can deactivate the samples by passing --disable-samples to configure. However, I do think that you will experience the same issues when linking to your own code later on.
Clearly there is an issue with the Ogre libs not being linked correctly. If you are doing non-standard stuff (and by that I mean anything that requires you to manually edit the Ogre.pc file), you're in 'advanced territory' and what and how you do it will depend on your specific system and set up - and that's very difficult to give specific advice.
Can you post (or upload somewhere) the config.log file produced from the configure script? I can't promise it will help anyone spot the exact issue, but it would give clues as to your system set up.
CE.
Clearly there is an issue with the Ogre libs not being linked correctly. If you are doing non-standard stuff (and by that I mean anything that requires you to manually edit the Ogre.pc file), you're in 'advanced territory' and what and how you do it will depend on your specific system and set up - and that's very difficult to give specific advice.
Can you post (or upload somewhere) the config.log file produced from the configure script? I can't promise it will help anyone spot the exact issue, but it would give clues as to your system set up.
CE.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
Re: Setting Ogre dir on Linux
The config.log:
http://pastebin.com/dzBvPwbL
I build Ogre and Bullet by myself. The .pc file was the same without Boost as I posted it. I only changed the paths.
My environment, maybe it helps:
i6m2etis/dependencies/Boost_1_43/include/boost
i6m2etis/dependencies/Boost_1_43/lib
i6m2etis/dependencies/Ogre3D/include/OGRE
i6m2etis/dependencies/Ogre3D/lib
Boost v. 1.43
Ogre3D v. 1.7.1
The project works fine. So I think that I build boost and ogre correctly before.
http://pastebin.com/dzBvPwbL
I build Ogre and Bullet by myself. The .pc file was the same without Boost as I posted it. I only changed the paths.
My environment, maybe it helps:
i6m2etis/dependencies/Boost_1_43/include/boost
i6m2etis/dependencies/Boost_1_43/lib
i6m2etis/dependencies/Ogre3D/include/OGRE
i6m2etis/dependencies/Ogre3D/lib
Boost v. 1.43
Ogre3D v. 1.7.1
The project works fine. So I think that I build boost and ogre correctly before.
Re: Setting Ogre dir on Linux
Okay I think i got it. The problem was - as you mentioned - that Ogre wasn't link correctly. So I took a look at the Makefiles of the samples. There was the Ogre variables correctly filled:
But the Makefile ignored this (or the linker). So editet following two lines (the first about line 60 the second about 132) :
to
and it works. (Nice work to do this with all samples )
Now it throws some errors by initializing (got two viewports) but I think I'll google a bit and maybe start a new thread
Thanks for your time.
Ogre_CFLAGS = -pthread -I/home/michi/workspace/i6m2etis/dependencies/Ogre3D/include -I/home/michi/workspace/i6m2etis/dependencies/Ogre3D/include/OGRE -I/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/include/boost -I/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/include
Ogre_LIBS = -L/home/michi/workspace/i6m2etis/dependencies/Ogre3D/lib -L/home/michi/workspace/i6m2etis/dependencies/Boost_1_43/lib -lOgreMain -lpthread -lboost_thread -lboost_filesystem -lboost_system -lboost_date_time
But the Makefile ignored this (or the linker). So editet following two lines (the first about line 60 the second about 132) :
DEFAULT_INCLUDES = -I. -I$(top_builddir)/cegui/include
LIBS = -lpthread -ldl
to
DEFAULT_INCLUDES = -I. -I$(top_builddir)/cegui/include $(Ogre_CFLAGS)
LIBS = -lpthread -ldl $(Ogre_LIBS)
and it works. (Nice work to do this with all samples )
Now it throws some errors by initializing (got two viewports) but I think I'll google a bit and maybe start a new thread
Thanks for your time.
- CrazyEddie
- CEGUI Project Lead
- Posts: 6760
- Joined: Wed Jan 12, 2005 12:06
- Location: England
- Contact:
Re: Setting Ogre dir on Linux
I develop primarily on linux, and the build works fine for me when building with Ogre.
For reference, the output of my pkg-config calls are:
and
i.e. no mention of boost libs at all
CE.
For reference, the output of my pkg-config calls are:
Code: Select all
$ pkg-config --libs OGRE
-L/usr/local/lib -lOgreMain -lpthread
and
Code: Select all
$ pkg-config --cflags OGRE
-pthread -I/usr/local/include -I/usr/local/include/OGRE
i.e. no mention of boost libs at all
CE.
Useful Links: Forum Guidelines | Documentation | Tutorials | HOWTO | Videos | Donate to CEGUI | CEGUI Twitter
Who is online
Users browsing this forum: Bing [Bot] and 8 guests