ogre problem when building

Questions, problems and discussion about compiling FreeOrion.

Moderator: Oberlus

Message
Author
User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

ogre problem when building

#1 Post by kroddn »

Revision: 2797

When compiling FreeOrion, I get this error:

Code: Select all

util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary seria lization."
Does anybode know what to do? What was changed that causes this error?

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#2 Post by tzlaine »

kroddn wrote:Revision: 2797

When compiling FreeOrion, I get this error:

Code: Select all

util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary seria lization."
Does anybode know what to do? What was changed that causes this error?
Please post the gcc command line that produced that.

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: ogre problem when building

#3 Post by kroddn »

Code: Select all

g++-4.3 -o util/Serialize.o -c -pthread -Wall -Wno-parentheses -Wno-deprecated -g -O0 -DBOOST_ASIO_DISABLE_EVENTFD -DFREEORION_LINUX -DENABLE_BINRELOC -I/usr/include/python2.5 -I/usr/local/include/boost-1_37 -I/usr/local/include -I/usr/include/SDL -IGG -I/usr/src/freeorion/graphviz-2.18/include -I/usr/local/include/graphviz -Ilog4cpp util/Serialize.cpp

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#4 Post by tzlaine »

Ah. The code around that is:

Code: Select all

#if !defined(OGRE_CONFIG_LITTLE_ENDIAN) && !defined(_MSC_VER)
#  error "Incompatible endianness for binary serialization."
#endif
You need to have Ogre 1.6.1 installed, and you no longer need SDL. Remember to run "scons configure" again for GG and FreeOrion after installing Ogre.

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: ogre problem when building

#5 Post by kroddn »

Then scons should be extendet to check for ogre 1.6.1.

I'll compile ogre today and will see, if it works.

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: ogre problem when building

#6 Post by OndrejR »

I also have same error with installed ogre 1.6.1 and scons configuration successfully ends. In scons script there is already check for ogre 1.6.1, but it is in wrong place.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#7 Post by tzlaine »

The Ogre requirement is meant to be checked from the GG SConstruct. The check in FO's SConstruct is just there in case it can't find GiGi.pc. Did you "scons configure" and "scons install" GG already?

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: ogre problem when building

#8 Post by kroddn »

I had set "build_ogre_driver=no" some years ago in GG, so ogre was never used.

But "scons configure build_ogre_driver=yes" still fails, as some libs used by ogre are not found, although installed. The command line for compiling is wrong, as it does not specify the libs needed by "libOgreMain". Maybe some pkg-config stuff is missing?

Part of config.log:

Code: Select all

g++-4.3 -o .sconf_temp/conftest_25 -pthread .sconf_temp/conftest_25.o -L/usr/local/lib -lboost_signals-gcc43-mt -lboost_system-gcc43-mt -lboost_filesystem-gcc43-mt -lboost_thread-gcc43-mt -lGL -lGLU -lz -lfreetype -ljpeg -lpng -ltiff -lOgreMain -lOgreMain
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::eof() const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:312: undefined reference to `zzip_tell'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::seek(unsigned int)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:302: undefined reference to `zzip_seek'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::skip(long)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:297: undefined reference to `zzip_seek'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipArchive::exists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:227: undefined reference to `zzip_dir_stat'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::close()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:317: undefined reference to `zzip_file_close'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:317: undefined reference to `zzip_file_close'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:317: undefined reference to `zzip_file_close'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipArchive::unload()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:125: undefined reference to `zzip_dir_close'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::read(void*, unsigned int)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:284: undefined reference to `zzip_file_read'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:286: undefined reference to `zzip_dirhandle'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:287: undefined reference to `zzip_strerror_of'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipArchive::open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:137: undefined reference to `zzip_file_open'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:151: undefined reference to `zzip_dir_stat'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:140: undefined reference to `zzip_error'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipArchive::load()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:89: undefined reference to `zzip_dir_open'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:94: undefined reference to `zzip_dir_read'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::close()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:317: undefined reference to `zzip_file_close'
/usr/local/lib/libOgreMain.a(OgreZip.o): In function `Ogre::ZipDataStream::tell() const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreZip.cpp:307: undefined reference to `zzip_tell'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `~GLXConfigurator':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:213: undefined reference to `XtUnrealizeWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:214: undefined reference to `XtDestroyWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:213: undefined reference to `XtUnrealizeWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:214: undefined reference to `XtDestroyWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:213: undefined reference to `XtUnrealizeWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:214: undefined reference to `XtDestroyWidget'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::SetRenderer(Ogre::RenderSystem*)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:419: undefined reference to `XtDestroyWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtStrings'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o):/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: more undefined references to `XtStrings' follow
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::SetRenderer(Ogre::RenderSystem*)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `labelWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:440: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `menuButtonWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:453: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:457: undefined reference to `simpleMenuWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:457: undefined reference to `XtVaCreatePopupShell'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:468: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:468: undefined reference to `smeBSBObjectClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:468: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:469: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:469: undefined reference to `XtAddCallback'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::CreateWindow()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtShellStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `sessionShellWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:237: undefined reference to `XtVaOpenApplication'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:240: undefined reference to `XtDisplay'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:249: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:249: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:249: undefined reference to `XtVaSetValues'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:257: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:257: undefined reference to `formWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:257: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `labelWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtStrings'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o):/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: more undefined references to `XtStrings' follow
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::CreateWindow()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:272: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `menuButtonWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:287: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:290: undefined reference to `simpleMenuWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:290: undefined reference to `XtVaCreatePopupShell'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:300: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:300: undefined reference to `smeBSBObjectClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:300: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:301: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:301: undefined reference to `XtAddCallback'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `formWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:314: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:316: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:316: undefined reference to `commandWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:316: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:317: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:317: undefined reference to `XtAddCallback'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:319: undefined reference to `commandWidgetClass'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:319: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:319: undefined reference to `XtVaCreateManagedWidget'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:320: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:320: undefined reference to `XtAddCallback'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:322: undefined reference to `XtRealizeWidget'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::Main()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:408: undefined reference to `XtAppMainLoop'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::Exit()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:411: undefined reference to `XtAppSetExitFlag'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::Main()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:408: undefined reference to `XtAppMainLoop'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::Exit()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:411: undefined reference to `XtAppSetExitFlag'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:411: undefined reference to `XtAppSetExitFlag'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::configOptionHandler(_WidgetRec*, Ogre::GLXConfigurator::ConfigCallbackData*, void*)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:191: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:191: undefined reference to `XtVaSetValues'
/usr/local/lib/libOgreMain.a(OgreConfigDialog.o): In function `Ogre::GLXConfigurator::renderSystemHandler(_WidgetRec*, Ogre::GLXConfigurator::RendererCallbackData*, void*)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:185: undefined reference to `XtStrings'
/usr/src/freeorion/ogre/ogre/OgreMain/src/GLX/OgreConfigDialog.cpp:185: undefined reference to `XtVaSetValues'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::encode(Ogre::SharedPtr<Ogre::MemoryDataStream>&, Ogre::SharedPtr<Ogre::Codec::CodecData>&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:239: undefined reference to `FreeImage_FIFSupportsExportType'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:262: undefined reference to `FreeImage_FIFSupportsExportBPP'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:299: undefined reference to `FreeImage_AllocateT'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:311: undefined reference to `FreeImage_GetPitch'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:317: undefined reference to `FreeImage_GetBits'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:239: undefined reference to `FreeImage_FIFSupportsExportBPP'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:264: undefined reference to `FreeImage_FIFSupportsExportBPP'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:306: undefined reference to `FreeImage_ConvertToGreyscale'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:307: undefined reference to `FreeImage_Unload'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:274: undefined reference to `FreeImage_FIFSupportsExportBPP'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::codeToFile(Ogre::SharedPtr<Ogre::MemoryDataStream>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::SharedPtr<Ogre::Codec::CodecData>&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:367: undefined reference to `FreeImage_Save'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::code(Ogre::SharedPtr<Ogre::MemoryDataStream>&, Ogre::SharedPtr<Ogre::Codec::CodecData>&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:339: undefined reference to `FreeImage_OpenMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:341: undefined reference to `FreeImage_SaveToMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:345: undefined reference to `FreeImage_AcquireMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:353: undefined reference to `FreeImage_CloseMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:355: undefined reference to `FreeImage_Unload'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::shutdown()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:119: undefined reference to `FreeImage_DeInitialise'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::magicNumberToFileExt(char const*, unsigned int) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:547: undefined reference to `FreeImage_OpenMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:549: undefined reference to `FreeImage_GetFileTypeFromMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:550: undefined reference to `FreeImage_CloseMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:554: undefined reference to `FreeImage_GetFormatFromFIF'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::decode(Ogre::SharedPtr<Ogre::DataStream>&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:379: undefined reference to `FreeImage_OpenMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:382: undefined reference to `FreeImage_LoadFromMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:395: undefined reference to `FreeImage_GetWidth'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:396: undefined reference to `FreeImage_GetHeight'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:402: undefined reference to `FreeImage_GetImageType'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:403: undefined reference to `FreeImage_GetColorType'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:404: undefined reference to `FreeImage_GetBPP'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:509: undefined reference to `FreeImage_GetBits'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:510: undefined reference to `FreeImage_GetPitch'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:435: undefined reference to `FreeImage_ConvertTo24Bits'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:437: undefined reference to `FreeImage_Unload'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:440: undefined reference to `FreeImage_GetBPP'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:441: undefined reference to `FreeImage_GetColorType'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:528: undefined reference to `FreeImage_Unload'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:529: undefined reference to `FreeImage_CloseMemory'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:453: undefined reference to `FreeImage_GetGreenMask'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:424: undefined reference to `FreeImage_ConvertToGreyscale'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::startup()':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:67: undefined reference to `FreeImage_Initialise'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:71: undefined reference to `FreeImage_GetVersion'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:74: undefined reference to `FreeImage_GetCopyrightMessage'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:80: undefined reference to `FreeImage_GetFIFCount'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:88: undefined reference to `FreeImage_GetFIFExtensionList'
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:110: undefined reference to `FreeImage_SetOutputMessage'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageErrorHandler(FREE_IMAGE_FORMAT, char const*)':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:50: undefined reference to `FreeImage_GetFormatFromFIF'
/usr/local/lib/libOgreMain.a(OgreFreeImageCodec.o): In function `Ogre::FreeImageCodec::codeToFile(Ogre::SharedPtr<Ogre::MemoryDataStream>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::SharedPtr<Ogre::Codec::CodecData>&) const':
/usr/src/freeorion/ogre/ogre/OgreMain/src/OgreFreeImageCodec.cpp:368: undefined reference to `FreeImage_Unload'
collect2: ld returned 1 exit status

User avatar
kroddn
Static Linker
Posts: 347
Joined: Thu Jun 28, 2007 10:28 am

Re: ogre problem when building

#9 Post by kroddn »

Update...

After recompiling ogre and building both static and shared libs, the error message changes to:

Code: Select all

.sconf_temp/conftest_25.o: In function `main':
/usr/src/freeorion/FreeOrion/GG/.sconf_temp/conftest_25.cpp:6: 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&)'
/usr/src/freeorion/FreeOrion/GG/.sconf_temp/conftest_25.cpp:6: undefined reference to `Ogre::Root::~Root()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::getFullDescription() const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getSingleton()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::Exception(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, long)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::~Image()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::MemoryDataStream::MemoryDataStream(void*, unsigned int, bool)'
/usr/local/lib/libOgreMain.so: undefined reference to `vtable for Ogre::Exception'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getAvailableRenderers()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::getPixelBox(unsigned int, unsigned int) const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PlatformInformation::getCpuFeatures()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PlatformInformation::getCpuIdentifier()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::Image()'
/usr/local/lib/libOgreMain.so: undefined reference to `typeinfo for Ogre::Exception'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::load(Ogre::SharedPtr<Ogre::DataStream>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::NedAllocImpl::allocBytes(unsigned int, char const*, int, char const*)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PixelUtil::bulkPixelConversion(Ogre::PixelBox const&, Ogre::PixelBox const&)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::getNumber() const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::LogManager::getSingleton()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getRenderSystem()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::LogManager::logMessage(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::LogMessageLevel, bool)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::setRenderSystem(Ogre::RenderSystem*)'
collect2: ld returned 1 exit status
Very strange error messages, as these are ogre functions...

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: ogre problem when building

#10 Post by OndrejR »

tzlaine wrote:The Ogre requirement is meant to be checked from the GG SConstruct. The check in FO's SConstruct is just there in case it can't find GiGi.pc. Did you "scons configure" and "scons install" GG already?
Yes. I have no problem compiling GG(rev 707). Only FO(rev 2805).

kroddn:
I installed Ogre according wiki. You may have Ogre dependency missing. I compile GG test 25 without problem with this:

Code: Select all

g++ -o .sconf_temp/conftest_25.o -c -pthread -Wall -g -O0 -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/freetype2 -I. -Ilibltdl -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_25.cpp
g++ -o .sconf_temp/conftest_25 -pthread .sconf_temp/conftest_25.o -L/usr/local/lib -lboost_signals-mt -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lGL -lGLU -lz -lfreetype -ljpeg -lpng -ltiff -lOgreMain -lOgreMain
scons: Configure: yes
but when I compile FO(after successful scons configure) there is problem with serializable error because there is no -DOGRE_CONFIG_LITTLE_ENDIAN. My compile string is this:

Code: Select all

g++ -o util/Serialize.o -c -pthread -Wall -Wno-parentheses -Wno-deprecated -g -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -I/usr/include/python2.5 -I/usr/local/include -I/usr/local/include/OGRE -I/usr/include/graphviz -Ilog4cpp util/Serialize.cpp
util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary serialization."

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#11 Post by tzlaine »

kroddn wrote:Update...

After recompiling ogre and building both static and shared libs, the error message changes to:

Code: Select all

.sconf_temp/conftest_25.o: In function `main':
/usr/src/freeorion/FreeOrion/GG/.sconf_temp/conftest_25.cpp:6: 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&)'
/usr/src/freeorion/FreeOrion/GG/.sconf_temp/conftest_25.cpp:6: undefined reference to `Ogre::Root::~Root()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::getFullDescription() const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getSingleton()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::Exception(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, long)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::~Image()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::MemoryDataStream::MemoryDataStream(void*, unsigned int, bool)'
/usr/local/lib/libOgreMain.so: undefined reference to `vtable for Ogre::Exception'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getAvailableRenderers()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::getPixelBox(unsigned int, unsigned int) const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PlatformInformation::getCpuFeatures()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PlatformInformation::getCpuIdentifier()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::Image()'
/usr/local/lib/libOgreMain.so: undefined reference to `typeinfo for Ogre::Exception'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Image::load(Ogre::SharedPtr<Ogre::DataStream>&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::NedAllocImpl::allocBytes(unsigned int, char const*, int, char const*)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::PixelUtil::bulkPixelConversion(Ogre::PixelBox const&, Ogre::PixelBox const&)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Exception::getNumber() const'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::LogManager::getSingleton()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::getRenderSystem()'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::LogManager::logMessage(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::LogMessageLevel, bool)'
/usr/local/lib/libOgreMain.so: undefined reference to `Ogre::Root::setRenderSystem(Ogre::RenderSystem*)'
collect2: ld returned 1 exit status
Very strange error messages, as these are ogre functions...
Strange indeed. But what is the command line that produced these link errors?

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#12 Post by tzlaine »

OndrejR wrote:
tzlaine wrote:The Ogre requirement is meant to be checked from the GG SConstruct. The check in FO's SConstruct is just there in case it can't find GiGi.pc. Did you "scons configure" and "scons install" GG already?
Yes. I have no problem compiling GG(rev 707). Only FO(rev 2805).

kroddn:
I installed Ogre according wiki. You may have Ogre dependency missing. I compile GG test 25 without problem with this:

Code: Select all

g++ -o .sconf_temp/conftest_25.o -c -pthread -Wall -g -O0 -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/freetype2 -I. -Ilibltdl -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_25.cpp
g++ -o .sconf_temp/conftest_25 -pthread .sconf_temp/conftest_25.o -L/usr/local/lib -lboost_signals-mt -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lGL -lGLU -lz -lfreetype -ljpeg -lpng -ltiff -lOgreMain -lOgreMain
scons: Configure: yes
but when I compile FO(after successful scons configure) there is problem with serializable error because there is no -DOGRE_CONFIG_LITTLE_ENDIAN. My compile string is this:

Code: Select all

g++ -o util/Serialize.o -c -pthread -Wall -Wno-parentheses -Wno-deprecated -g -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DFREEORION_LINUX -DENABLE_BINRELOC -I/usr/include/python2.5 -I/usr/local/include -I/usr/local/include/OGRE -I/usr/include/graphviz -Ilog4cpp util/Serialize.cpp
util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary serialization."
Can you post your config.cache? Also, does pkgconfig find Ogre ok?

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: ogre problem when building

#13 Post by OndrejR »

FO config.cache:

Code: Select all

(dp0
S'CPPFLAGS'
p1
(lp2
sS'CC'
p3
S'gcc'
p4
sS'CPPDEFINES'
p5
(lp6
(lp7
S'_GNU_SOURCE'
p8
aS'1'
p9
aaS'_REENTRANT'
p10
aS'OGRE_GUI_GLX'
p11
aS'OGRE_CONFIG_LITTLE_ENDIAN'
p12
asS'CXXFLAGS'
p13
(lp14
sS'CXX'
p15
S'g++'
p16
sS'CCFLAGS'
p17
(lp18
S'-pthread'
p19
asS'LIBS'
p20
(lp21
S'python2.5'
p22
aS'GiGiOgre'
p23
aS'GiGi'
p24
aS'boost_signals-mt'
p25
aS'boost_system-mt'
p26
aS'boost_filesystem-mt'
p27
aS'boost_thread-mt'
p28
aS'GL'
p29
aS'GLU'
p30
aS'freetype'
p31
aS'z'
p32
aS'jpeg'
p33
aS'png'
p34
aS'tiff'
p35
aS'OgreMain'
p36
aS'boost_serialization-mt'
p37
aS'boost_iostreams-mt'
p38
aS'boost_python-mt'
p39
aS'bulletcollision'
p40
aS'bulletmath'
p41
aS'alut'
p42
aS'openal'
p43
aS'vorbisfile'
p44
aS'vorbis'
p45
aS'm'
p46
aS'ogg'
p47
aS'gvc'
p48
aS'graph'
p49
aS'cdt'
p50
asS'CPPPATH'
p51
(lp52
S'/usr/include/python2.5'
p53
aS'/usr/local/include'
p54
aS'/usr/local/include/OGRE'
p55
aS'/usr/include/graphviz'
p56
asS'LIBPATH'
p57
(lp58
S'/usr/lib'
p59
aS'/usr/local/lib'
p60
asS'LINKFLAGS'
p61
(lp62
S'$__RPATH'
p63
ag19
as.
In FO config.log there is no active Ogre pkg-config check. Only GiGiOgre check:

Code: Select all

scons: Configure: Checking for GiGiOgre >= 0.6.0... 
pkg-config GiGiOgre --atleast-version 0.6.0
scons: Configure: yes

...

g++ -o .sconf_temp/conftest_3.o -c -pthread -D_GNU_SOURCE=1 -D_REENTRANT -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/python2.5 -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_3.cpp
scons: Configure: yes
...
But in GG there is successful Ogre check:

Code: Select all

scons: Configure: Checking for OGRE >= 1.6.1... 
pkg-config OGRE --atleast-version 1.6.1
scons: Configure: yes

scons: Configure: Checking for C++ header file Ogre.h... 
.sconf_temp/conftest_24.cpp <-
  |
  |#include "Ogre.h"
  |
  |
g++ -o .sconf_temp/conftest_24.o -c -pthread -Wall -g -O0 -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/freetype2 -I. -Ilibltdl -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_24.cpp
scons: Configure: yes

scons: Configure: Checking for Ogre::Root() in C++ library OgreMain... 
.sconf_temp/conftest_25.cpp <-
  |
  |
  |#include <Ogre.h>
  |int
  |main() {
  |  Ogre::Root();
  |return 0;
  |}
  |
g++ -o .sconf_temp/conftest_25.o -c -pthread -Wall -g -O0 -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/freetype2 -I. -Ilibltdl -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_25.cpp
g++ -o .sconf_temp/conftest_25 -pthread .sconf_temp/conftest_25.o -L/usr/local/lib -lboost_signals-mt -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lGL -lGLU -lz -lfreetype -ljpeg -lpng -ltiff -lOgreMain -lOgreMain
scons: Configure: yes
I don't understand. In cache there is OGRE_CONFIG_LITTLE_ENDIAN, but when it compiles, it isn't. But this little endian is used in tests. And also don't understand why is -lOgreMain twice

EDIT: In cache there is little endian, but only for gcc. Not for g++.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

Re: ogre problem when building

#14 Post by tzlaine »

OndrejR wrote:In FO config.log there is no active Ogre pkg-config check. Only GiGiOgre check:

Code: Select all

scons: Configure: Checking for GiGiOgre >= 0.6.0... 
pkg-config GiGiOgre --atleast-version 0.6.0
scons: Configure: yes

...

g++ -o .sconf_temp/conftest_3.o -c -pthread -D_GNU_SOURCE=1 -D_REENTRANT -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/python2.5 -I/usr/local/include -I/usr/local/include/OGRE .sconf_temp/conftest_3.cpp
scons: Configure: yes
...
This is fine. GiGiOgre pulls in all the necessary Ogre defines and include paths. As you can see above, when testing the build of ".sconf_temp/conftest_3.cpp", OGRE_CONFIG_LITTLE_ENDIAN is defined correctly.
But in GG there is successful Ogre check:
[snip]
Right. Like I said, GG should be checking for Ogre, finding it, and then adding all necessary command line flags to its GiGiOgre.pc file.
I don't understand. In cache there is OGRE_CONFIG_LITTLE_ENDIAN, but when it compiles, it isn't. But this little endian is used in tests. And also don't understand why is -lOgreMain twice
I don't understand either. What does "pkg-config --cflags GiGiOgre" say?
EDIT: In cache there is little endian, but only for gcc. Not for g++.
No, CCFLAGS are used for all C and C++ command lines, so OGRE_CONFIG_LITTLE_ENDIAN should be defined for gcc and g++ builds.

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: ogre problem when building

#15 Post by OndrejR »

tzlaine wrote:
OndrejR wrote:I don't understand. In cache there is OGRE_CONFIG_LITTLE_ENDIAN, but when it compiles, it isn't. But this little endian is used in tests. And also don't understand why is -lOgreMain twice
I don't understand either. What does "pkg-config --cflags GiGiOgre" say?

Code: Select all

$pkg-config --cflags GiGiOgre
-DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE

Code: Select all

$pkg-config --cflags OGRE
-DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/local/include -I/usr/local/include/OGRE
Last edited by OndrejR on Mon Feb 09, 2009 7:48 pm, edited 2 times in total.

Post Reply