When compiling FreeOrion, I get this error:
Code: Select all
util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary seria lization."
Moderator: Oberlus
Code: Select all
util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary seria lization."
Please post the gcc command line that produced that.kroddn wrote:Revision: 2797
When compiling FreeOrion, I get this error:
Does anybode know what to do? What was changed that causes this error?Code: Select all
util/Serialize.cpp:50:4: error: #error "Incompatible endianness for binary seria lization."
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
Code: Select all
#if !defined(OGRE_CONFIG_LITTLE_ENDIAN) && !defined(_MSC_VER)
# error "Incompatible endianness for binary serialization."
#endif
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
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
Yes. I have no problem compiling GG(rev 707). Only FO(rev 2805).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?
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
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."
Strange indeed. But what is the command line that produced these link errors?kroddn wrote:Update...
After recompiling ogre and building both static and shared libs, the error message changes to:
Very strange error messages, as these are ogre functions...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
Can you post your config.cache? Also, does pkgconfig find Ogre ok?OndrejR wrote:Yes. I have no problem compiling GG(rev 707). Only FO(rev 2805).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?
kroddn:
I installed Ogre according wiki. You may have Ogre dependency missing. I compile GG test 25 without problem with this: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 .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
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."
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.
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
...
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
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.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 ...
[snip]But in GG there is successful Ogre check:
I don't understand either. What does "pkg-config --cflags GiGiOgre" say?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
No, CCFLAGS are used for all C and C++ command lines, so OGRE_CONFIG_LITTLE_ENDIAN should be defined for gcc and g++ builds.EDIT: In cache there is little endian, but only for gcc. Not for g++.
tzlaine wrote:I don't understand either. What does "pkg-config --cflags GiGiOgre" say?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
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