building on FreeBSD

Questions, problems and discussion about compiling FreeOrion.

Moderator: Oberlus

Message
Author
User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: building on FreeBSD

#16 Post by Dilvish »

ah, that's a freetype include file (for me it's in /usr/include). Since you said you have freetype, it must be somewhere else (which is why cmake hadn't been finding it, so you need to defining that include dirs variable to the actual location). did you try a

Code: Select all

locate ft2build.h
?
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: building on FreeBSD

#17 Post by Geoff the Medio »

Nagilum wrote:Changing util/Directories.cpp:

Code: Select all

#elif defined(FREEORION_LINUX)
to

Code: Select all

#elif defined(FREEORION_LINUX) || defined(FREEORION_FREEBSD)
did the trick for now.
We'll see if it actually works later I suppose.
Might need to adjust the symbol it checks for in

Code: Select all

#ifdef __FreeBSD__
        int mib[4];
        mib[0] = CTL_KERN;
        mib[1] = KERN_PROC;
        mib[2] = KERN_PROC_PATHNAME;
        mib[3] = -1;
        size_t buf_size = sizeof(buf);
        sysctl(mib, 4, buf, &buf_size, 0, 0);
#else
Or perhaps replace with something similar to the code after it, but using the FreeBSD binary location.

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: building on FreeBSD

#18 Post by adrian_broher »

For future reference:

http://stackoverflow.com/questions/1023 ... c-self-exe

Also about finding freetype:
The FindFreetype module sets

Code: Select all

FREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2
FREETYPE_INCLUDE_DIR_ft2build=/usr/include
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#19 Post by Nagilum »

Thanks adrian!
-DFREETYPE_INCLUDE_DIR_freetype2=/usr/local/include/freetype2
solved the issue :)
The next one looks quite convoluted:

Code: Select all

[ 80%] Building CXX object server/CMakeFiles/freeoriond.dir/__/universe/UniverseGenerator.cpp.o
Linking CXX executable ../../freeorionca
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<unsigned int (*)(std::set<int, std::less<int>, std::allocator<int> > const&), boost::python::default_call_policies, boost::mpl::vector2<unsigned int, std::set<int, std::less<int>, std::allocator<int> > const&>, mpl_::int_<0> >(unsigned int (*)(std::set<int, std::less<int>, std::allocator<int> > const&), boost::python::default_call_policies const&, boost::mpl::vector2<unsigned int, std::set<int, std::less<int>, std::allocator<int> > const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)': 
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFjRKSt3setIiSt4lessIiESaIiEEENS0_21default_call_policiesENS_3mpl7vector2IjS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_[_ZN5boost6python6detail17make_function_auxIPFjRKSt3setIiSt4lessIiESaIiEEENS0_21default_call_policiesENS_3mpl7vector2IjS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (*)(std::set<int, std::less<int>, std::allocator<int> > const&), boost::python::default_call_policies, boost::mpl::vector2<bool, std::set<int, std::less<int>, std::allocator<int> > const&>, mpl_::int_<0> >(bool (*)(std::set<int, std::less<int>, std::allocator<int> > const&), boost::python::default_call_policies const&, boost::mpl::vector2<bool, std::set<int, std::less<int>, std::allocator<int> > const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRKSt3setIiSt4lessIiESaIiEEENS0_21default_call_policiesENS_3mpl7vector2IbS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRKSt3setIiSt4lessIiESaIiEEENS0_21default_call_policiesENS_3mpl7vector2IbS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (*)(std::set<int, std::less<int>, std::allocator<int> > const&, int const&), boost::python::default_call_policies, boost::mpl::vector3<bool, std::set<int, std::less<int>, std::allocator<int> > const&, int const&>, mpl_::int_<0> >(bool (*)(std::set<int, std::less<int>, std::allocator<int> > const&, int const&), boost::python::default_call_policies const&, boost::mpl::vector3<bool, std::set<int, std::less<int>, std::allocator<int> > const&, int const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRKSt3setIiSt4lessIiESaIiEERKiENS0_21default_call_policiesENS_3mpl7vector3IbS9_SB_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESX_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRKSt3setIiSt4lessIiESaIiEERKiENS0_21default_call_policiesENS_3mpl7vector3IbS9_SB_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESX_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<unsigned int (*)(std::set<int, std::less<int>, std::allocator<int> > const&, int const&), boost::python::default_call_policies, boost::mpl::vector3<unsigned int, std::set<int, std::less<int>, std::allocator<int> > const&, int const&>, mpl_::int_<0> >(unsigned int (*)(std::set<int, std::less<int>, std::allocator<int> > const&, int const&), boost::python::default_call_policies const&, boost::mpl::vector3<unsigned int, std::set<int, std::less<int>, std::allocator<int> > const&, int const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFjRKSt3setIiSt4lessIiESaIiEERKiENS0_21default_call_policiesENS_3mpl7vector3IjS9_SB_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESX_ET2_[_ZN5boost6python6detail17make_function_auxIPFjRKSt3setIiSt4lessIiESaIiEERKiENS0_21default_call_policiesENS_3mpl7vector3IjS9_SB_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESX_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<unsigned int (*)(std::set<std::string, std::less<std::string>, std::allocator<std::string> > const&), boost::python::default_call_policies, boost::mpl::vector2<unsigned int, std::set<std::string, std::less<std::string>, std::allocator<std::string> > const&>, mpl_::int_<0> >(unsigned int (*)(std::set<std::string, std::less<std::string>, std::allocator<std::string> > const&), boost::python::default_call_policies const&, boost::mpl::vector2<unsigned int, std::set<std::string, std::less<std::string>, std::allocator<std::string> > const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFjRKSt3setISsSt4lessISsESaISsEEENS0_21default_call_policiesENS_3mpl7vector2IjS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_[_ZN5boost6python6detail17make_function_auxIPFjRKSt3setISsSt4lessISsESaISsEEENS0_21default_call_policiesENS_3mpl7vector2IjS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o:PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRKSt3setISsSt4lessISsESaISsEEENS0_21default_call_policiesENS_3mpl7vector2IbS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRKSt3setISsSt4lessISsESaISsEEENS0_21default_call_policiesENS_3mpl7vector2IbS9_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESV_ET2_]+0x5a): more undefined references to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)' follow
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::vector<int, std::allocator<int> > >(std::vector<int, std::allocator<int> >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt6vectorIiSaIiEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt6vectorIiSaIiEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::vector<std::string, std::allocator<std::string> > >(std::vector<std::string, std::allocator<std::string> >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt6vectorISsSaISsEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt6vectorISsSaISsEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::map<int, bool, std::less<int>, std::allocator<std::pair<int const, bool> > > >(std::map<int, bool, std::less<int>, std::allocator<std::pair<int const, bool> > >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3mapIibSt4lessIiESaISt4pairIKibEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3mapIibSt4lessIiESaISt4pairIKibEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'   
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<unsigned long (*)(std::vector<int, std::allocator<int> >&), boost::python::default_call_policies, boost::mpl::vector2<unsigned long, std::vector<int, std::allocator<int> >&>, mpl_::int_<0> >(unsigned long (*)(std::vector<int, std::allocator<int> >&), boost::python::default_call_policies const&, boost::mpl::vector2<unsigned long, std::vector<int, std::allocator<int> >&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFmRSt6vectorIiSaIiEEENS0_21default_call_policiesENS_3mpl7vector2ImS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIPFmRSt6vectorIiSaIiEEENS0_21default_call_policiesENS_3mpl7vector2ImS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::vector<int, std::allocator<int> >&, _object*, _object*), boost::python::default_call_policies, boost::mpl::vector4<void, std::vector<int, std::allocator<int> >&, _object*, _object*>, mpl_::int_<0> >(void (*)(std::vector<int, std::allocator<int> >&, _object*, _object*), boost::python::default_call_policies const&, boost::mpl::vector4<void, std::vector<int, std::allocator<int> >&, _object*, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEEP7_objectS8_ENS0_21default_call_policiesENS_3mpl7vector4IvS6_S8_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEEP7_objectS8_ENS0_21default_call_policiesENS_3mpl7vector4IvS6_S8_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::vector<int, std::allocator<int> >&, _object*), boost::python::default_call_policies, boost::mpl::vector3<void, std::vector<int, std::allocator<int> >&, _object*>, mpl_::int_<0> >(void (*)(std::vector<int, std::allocator<int> >&, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<void, std::vector<int, std::allocator<int> >&, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<boost::python::api::object (*)(boost::python::back_reference<std::vector<int, std::allocator<int> >&>, _object*), boost::python::default_call_policies, boost::mpl::vector3<boost::python::api::object, boost::python::back_reference<std::vector<int, std::allocator<int> >&>, _object*>, mpl_::int_<0> >(boost::python::api::object (*)(boost::python::back_reference<std::vector<int, std::allocator<int> >&>, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<boost::python::api::object, boost::python::back_reference<std::vector<int, std::allocator<int> >&>, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectENS0_14back_referenceIRSt6vectorIiSaIiEEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IS4_SA_SC_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESW_ET2_[_ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectENS0_14back_referenceIRSt6vectorIiSaIiEEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IS4_SA_SC_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESW_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (*)(std::vector<int, std::allocator<int> >&, _object*), boost::python::default_call_policies, boost::mpl::vector3<bool, std::vector<int, std::allocator<int> >&, _object*>, mpl_::int_<0> >(bool (*)(std::vector<int, std::allocator<int> >&, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<bool, std::vector<int, std::allocator<int> >&, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRSt6vectorIiSaIiEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IbS6_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRSt6vectorIiSaIiEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IbS6_S8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESU_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o:PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFmRSt6vectorISsSaISsEEENS0_21default_call_policiesENS_3mpl7vector2ImS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIPFmRSt6vectorISsSaISsEEENS0_21default_call_policiesENS_3mpl7vector2ImS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x5a): more undefined references to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)' follow
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::set<int, std::less<int>, std::allocator<int> > >(std::set<int, std::less<int>, std::allocator<int> >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3setIiSt4lessIiESaIiEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3setIiSt4lessIiESaIiEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::set<std::string, std::less<std::string>, std::allocator<std::string> > >(std::set<std::string, std::less<std::string>, std::allocator<std::string> >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3setISsSt4lessISsESaISsEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3setISsSt4lessISsESaISsEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::vector<int, std::allocator<int> >&, boost::python::api::object), boost::python::default_call_policies, boost::mpl::vector3<void, std::vector<int, std::allocator<int> >&, boost::python::api::object>, mpl_::int_<0> >(void (*)(std::vector<int, std::allocator<int> >&, boost::python::api::object), boost::python::default_call_policies const&, boost::mpl::vector3<void, std::vector<int, std::allocator<int> >&, boost::python::api::object> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEENS0_3api6objectEENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEES8_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt6vectorIiSaIiEENS0_3api6objectEENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEES8_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::vector<std::string, std::allocator<std::string> >&, boost::python::api::object), boost::python::default_call_policies, boost::mpl::vector3<void, std::vector<std::string, std::allocator<std::string> >&, boost::python::api::object>, mpl_::int_<0> >(void (*)(std::vector<std::string, std::allocator<std::string> >&, boost::python::api::object), boost::python::default_call_policies const&, boost::mpl::vector3<void, std::vector<std::string, std::allocator<std::string> >&, boost::python::api::object> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt6vectorISsSaISsEENS0_3api6objectEENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEES8_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt6vectorISsSaISsEENS0_3api6objectEENS0_21default_call_policiesENS_3mpl7vector3IvS6_S8_EEN4mpl_4int_ILi0EEEEES8_T_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<boost::python::api::object (*)(std::pair<int const, bool> const&), boost::python::default_call_policies, boost::mpl::vector2<boost::python::api::object, std::pair<int const, bool> const&>, mpl_::int_<0> >(boost::python::api::object (*)(std::pair<int const, bool> const&), boost::python::default_call_policies const&, boost::mpl::vector2<boost::python::api::object, std::pair<int const, bool> const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectERKSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IS4_S9_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKS5_IPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectERKSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IS4_S9_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKS5_IPKNS1_7keywordESS_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<int (*)(std::pair<int const, bool>&), boost::python::default_call_policies, boost::mpl::vector2<int, std::pair<int const, bool>&>, mpl_::int_<0> >(int (*)(std::pair<int const, bool>&), boost::python::default_call_policies const&, boost::mpl::vector2<int, std::pair<int const, bool>&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFiRSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IiS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS3_IPKNS1_7keywordESR_ET2_[_ZN5boost6python6detail17make_function_auxIPFiRSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IiS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS3_IPKNS1_7keywordESR_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (*)(std::pair<int const, bool>&), boost::python::default_call_policies, boost::mpl::vector2<bool, std::pair<int const, bool>&>, mpl_::int_<0> >(bool (*)(std::pair<int const, bool>&), boost::python::default_call_policies const&, boost::mpl::vector2<bool, std::pair<int const, bool>&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IbS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS3_IPKNS1_7keywordESR_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRSt4pairIKibEENS0_21default_call_policiesENS_3mpl7vector2IbS6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS3_IPKNS1_7keywordESR_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o:PythonAI.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvP7_objectENS0_21default_call_policiesENS_3mpl7vector2IvS4_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESQ_ET2_[_ZN5boost6python6detail17make_function_auxIPFvP7_objectENS0_21default_call_policiesENS_3mpl7vector2IvS4_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESQ_ET2_]+0x5a): more undefined references to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)' follow
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::pair<int const, bool> >(std::pair<int const, bool>*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt4pairIKibEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt4pairIKibEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, std::_Rb_tree_iterator<std::pair<int const, bool> > > >(boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, std::_Rb_tree_iterator<std::pair<int const, bool> > >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt17_Rb_tree_iteratorISt4pairIKibEEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt17_Rb_tree_iteratorISt4pairIKibEEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > > >(boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > > >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEEN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEEN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > > >(boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEEN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEEN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o: In function `void boost::python::objects::register_dynamic_id<boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, std::_Rb_tree_const_iterator<std::string> > >(boost::python::objects::iterator_range<boost::python::return_value_policy<boost::python::return_by_value, boost::python::default_call_policies>, std::_Rb_tree_const_iterator<std::string> >*)':
PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt23_Rb_tree_const_iteratorISsEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt23_Rb_tree_const_iteratorISsEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/AI/PythonAI.cpp.o:PythonAI.cpp:(.text._ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt23_Rb_tree_const_iteratorIiEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idINS1_14iterator_rangeINS0_19return_value_policyINS0_15return_by_valueENS0_21default_call_policiesEEESt23_Rb_tree_const_iteratorIiEEEEEvPT_]+0x1a): more undefined references to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))' follow
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (Empire::*)(std::string const&) const, boost::python::default_call_policies, boost::mpl::vector3<bool, Empire&, std::string const&>, mpl_::int_<0> >(bool (Empire::*)(std::string const&) const, boost::python::default_call_policies const&, boost::mpl::vector3<bool, Empire&, std::string const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKFbRKSsENS0_21default_call_policiesENS_3mpl7vector3IbRS3_S5_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKFbRKSsENS0_21default_call_policiesENS_3mpl7vector3IbRS3_S5_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x6b): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (Empire::*)(int) const, boost::python::default_call_policies, boost::mpl::vector3<bool, Empire&, int>, mpl_::int_<0> >(bool (Empire::*)(int) const, boost::python::default_call_policies const&, boost::mpl::vector3<bool, Empire&, int> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKFbiENS0_21default_call_policiesENS_3mpl7vector3IbRS3_iEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESQ_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKFbiENS0_21default_call_policiesENS_3mpl7vector3IbRS3_iEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESQ_ET2_]+0x6b): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<TechStatus (Empire::*)(std::string const&) const, boost::python::default_call_policies, boost::mpl::vector3<TechStatus, Empire&, std::string const&>, mpl_::int_<0> >(TechStatus (Empire::*)(std::string const&) const, boost::python::default_call_policies const&, boost::mpl::vector3<TechStatus, Empire&, std::string const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKF10TechStatusRKSsENS0_21default_call_policiesENS_3mpl7vector3IS4_RS3_S6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordEST_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKF10TechStatusRKSsENS0_21default_call_policiesENS_3mpl7vector3IS4_RS3_S6_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordEST_ET2_]+0x6b): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<float (Empire::*)(std::string const&) const, boost::python::default_call_policies, boost::mpl::vector3<float, Empire&, std::string const&>, mpl_::int_<0> >(float (Empire::*)(std::string const&) const, boost::python::default_call_policies const&, boost::mpl::vector3<float, Empire&, std::string const&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKFfRKSsENS0_21default_call_policiesENS_3mpl7vector3IfRS3_S5_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKFfRKSsENS0_21default_call_policiesENS_3mpl7vector3IfRS3_S5_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESS_ET2_]+0x6b): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (Empire::*)(BuildType, std::string const&, int) const, boost::python::default_call_policies, boost::mpl::vector5<bool, Empire&, BuildType, std::string const&, int>, mpl_::int_<0> >(bool (Empire::*)(BuildType, std::string const&, int) const, boost::python::default_call_policies const&, boost::mpl::vector5<bool, Empire&, BuildType, std::string const&, int> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKFb9BuildTypeRKSsiENS0_21default_call_policiesENS_3mpl7vector5IbRS3_S4_S6_iEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordEST_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKFb9BuildTypeRKSsiENS0_21default_call_policiesENS_3mpl7vector5IbRS3_S4_S6_iEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordEST_ET2_]+0x6b): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o:PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIM6EmpireKFb9BuildTypeiiENS0_21default_call_policiesENS_3mpl7vector5IbRS3_S4_iiEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESR_ET2_[_ZN5boost6python6detail17make_function_auxIM6EmpireKFb9BuildTypeiiENS0_21default_call_policiesENS_3mpl7vector5IbRS3_S4_iiEEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKSt4pairIPKNS1_7keywordESR_ET2_]+0x6b): more undefined references to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)' follow
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > > >(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > >(std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt6vectorISt4pairIiiESaIS5_EEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt6vectorISt4pairIiiESaIS5_EEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::vector<ItemSpec, std::allocator<ItemSpec> > >(std::vector<ItemSpec, std::allocator<ItemSpec> >*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt6vectorI8ItemSpecSaIS4_EEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt6vectorI8ItemSpecSaIS4_EEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<ResourcePool>(ResourcePool*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idI12ResourcePoolEEvPT_[_ZN5boost6python7objects19register_dynamic_idI12ResourcePoolEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::map<std::set<int, std::less<int>, std::allocator<int> >, float, std::less<std::set<int, std::less<int>, std::allocator<int> > >, std::allocator<std::pair<std::set<int, std::less<int>, std::allocator<int> > const, float> > > >(std::map<std::set<int, std::less<int>, std::allocator<int> >, float, std::less<std::set<int, std::less<int>, std::allocator<int> > >, std::allocator<std::pair<std::set<int, std::less<int>, std::allocator<int> > const, float> > >*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3mapISt3setIiSt4lessIiESaIiEEfS5_IS8_ESaISt4pairIKS8_fEEEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3mapISt3setIiSt4lessIiESaIiEEfS5_IS8_ESaISt4pairIKS8_fEEEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o:PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idI6EmpireEEvPT_[_ZN5boost6python7objects19register_dynamic_idI6EmpireEEvPT_]+0x1a): more undefined references to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))' follow
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<unsigned long (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&), boost::python::default_call_policies, boost::mpl::vector2<unsigned long, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&>, mpl_::int_<0> >(unsigned long (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&), boost::python::default_call_policies const&, boost::mpl::vector2<unsigned long, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFmRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEENS0_21default_call_policiesENS_3mpl7vector2ImSC_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESX_ET2_[_ZN5boost6python6detail17make_function_auxIPFmRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEENS0_21default_call_policiesENS_3mpl7vector2ImSC_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESX_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*, _object*), boost::python::default_call_policies, boost::mpl::vector4<void, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*, _object*>, mpl_::int_<0> >(void (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*, _object*), boost::python::default_call_policies const&, boost::mpl::vector4<void, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectSE_ENS0_21default_call_policiesENS_3mpl7vector4IvSC_SE_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectSE_ENS0_21default_call_policiesENS_3mpl7vector4IvSC_SE_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<void (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*), boost::python::default_call_policies, boost::mpl::vector3<void, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*>, mpl_::int_<0> >(void (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<void, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFvRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IvSC_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_[_ZN5boost6python6detail17make_function_auxIPFvRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IvSC_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<boost::python::api::object (*)(boost::python::back_reference<std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&>, _object*), boost::python::default_call_policies, boost::mpl::vector3<boost::python::api::object, boost::python::back_reference<std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&>, _object*>, mpl_::int_<0> >(boost::python::api::object (*)(boost::python::back_reference<std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&>, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<boost::python::api::object, boost::python::back_reference<std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&>, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectENS0_14back_referenceIRSt3mapISt4pairIiiEiSt4lessIS8_ESaIS7_IKS8_iEEEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IS4_SG_SI_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKS7_IPKNS1_7keywordES11_ET2_[_ZN5boost6python6detail17make_function_auxIPFNS0_3api6objectENS0_14back_referenceIRSt3mapISt4pairIiiEiSt4lessIS8_ESaIS7_IKS8_iEEEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IS4_SG_SI_EEN4mpl_4int_ILi0EEEEES4_T_RKT0_RKT1_RKS7_IPKNS1_7keywordES11_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `boost::python::api::object boost::python::detail::make_function_aux<bool (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*), boost::python::default_call_policies, boost::mpl::vector3<bool, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*>, mpl_::int_<0> >(bool (*)(std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*), boost::python::default_call_policies const&, boost::mpl::vector3<bool, std::map<std::pair<int, int>, int, std::less<std::pair<int, int> >, std::allocator<std::pair<std::pair<int, int> const, int> > >&, _object*> const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&, mpl_::int_<0>)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFbRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IbSC_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_[_ZN5boost6python6detail17make_function_auxIPFbRSt3mapISt4pairIiiEiSt4lessIS5_ESaIS4_IKS5_iEEEP7_objectENS0_21default_call_policiesENS_3mpl7vector3IbSC_SE_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordESZ_ET2_]+0x5a): undefined reference to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)'
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o:PythonEmpireWrapper.cpp:(.text._ZN5boost6python6detail17make_function_auxIPFmRSt6vectorISt4pairIiiESaIS5_EEENS0_21default_call_policiesENS_3mpl7vector2ImS8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordEST_ET2_[_ZN5boost6python6detail17make_function_auxIPFmRSt6vectorISt4pairIiiESaIS5_EEENS0_21default_call_policiesENS_3mpl7vector2ImS8_EEN4mpl_4int_ILi0EEEEENS0_3api6objectET_RKT0_RKT1_RKS4_IPKNS1_7keywordEST_ET2_]+0x5a): more undefined references to `boost::python::objects::function_object(boost::python::objects::py_function const&, std::pair<boost::python::detail::keyword const*, boost::python::detail::keyword const*> const&)' follow
CMakeFiles/freeorionca.dir/__/__/python/PythonEmpireWrapper.cpp.o: In function `void boost::python::objects::register_dynamic_id<std::set<std::set<int, std::less<int>, std::allocator<int> >, std::less<std::set<int, std::less<int>, std::allocator<int> > >, std::allocator<std::set<int, std::less<int>, std::allocator<int> > > > >(std::set<std::set<int, std::less<int>, std::allocator<int> >, std::less<std::set<int, std::less<int>, std::allocator<int> > >, std::allocator<std::set<int, std::less<int>, std::allocator<int> > > >*)':
PythonEmpireWrapper.cpp:(.text._ZN5boost6python7objects19register_dynamic_idISt3setIS3_IiSt4lessIiESaIiEES4_IS7_ESaIS7_EEEEvPT_[_ZN5boost6python7objects19register_dynamic_idISt3setIS3_IiSt4lessIiESaIiEES4_IS7_ESaIS7_EEEEvPT_]+0x1a): undefined reference to `boost::python::objects::register_dynamic_id_aux(boost::python::type_info, std::pair<void*, boost::python::type_info> (*)(void*))'
...

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: building on FreeBSD

#20 Post by adrian_broher »

Did you install boost python and python?
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#21 Post by Nagilum »

adrian_broher wrote:Did you install boost python and python?
Sure, here the cmake output:

Code: Select all

Updated to revision 6768. 
root@pbfbsd ~/FreeOrion > CC=gcc48 CXX=g++48 CPP=cpp48 cmake -DFREETYPE_INCLUDE_DIRS=/usr/local/include -DFREETYPE_INCLUDE_DIR_freetype2=/usr/local/include/freetype2 .
-- The C compiler identification is GNU 4.8.3
-- The CXX compiler identification is GNU 4.8.3
-- Check for working C compiler: /usr/local/bin/gcc48
-- Check for working C compiler: /usr/local/bin/gcc48 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/g++48
-- Check for working CXX compiler: /usr/local/bin/g++48 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Subversion: /usr/local/bin/svn (found version "1.8.5")
-- Boost version: 1.52.0
-- Found the following Boost libraries:
--   chrono
--   date_time
--   filesystem
--   signals
--   system
--   thread
-- Found JPEG: /usr/local/lib/libjpeg.so
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.8")
-- Found PNG: /usr/local/lib/libpng.so (found version "1.5.17")
-- Found TIFF: /usr/local/lib/libtiff.so (found version "4.0.3")
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/local/lib/libX11.so
-- Found OpenGL: /usr/local/lib/libGL.so
-- Found Freetype: /usr/local/lib/libfreetype.so
-- Configuring GiGi
-- Configuring GiGiOgre   
-- Looking for OGRE...
-- OGRE_PREFIX_WATCH changed.
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28")
-- checking for module 'OGRE'
--   found OGRE, version 1.8.1
-- Found Ogre Byatis (1.8.1)
-- Found OGRE: optimized;/usr/local/lib/libOgreMain.so;debug;/usr/local/lib/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/local/lib/libOgrePaging.so;debug;/usr/local/lib/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/local/lib/libOgreTerrain.so;debug;/usr/local/lib/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/local/lib/libOgreProperty.so;debug;/usr/local/lib/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/local/lib/libOgreRTShaderSystem.so;debug;/usr/local/lib/libOgreRTShaderSystem.so
-- Configuring Ogre OIS Input Plugin
-- Looking for OIS...
-- OIS_PREFIX_PATH changed.
-- checking for module 'OIS'
--   found OIS, version 1.2.0
-- Found OIS: optimized;/usr/local/lib/libOIS.so;debug;/usr/local/lib/libOIS.so
-- Boost version: 1.52.0  
-- Found the following Boost libraries:
--   chrono
--   date_time
--   filesystem
--   regex
--   serialization
--   signals
--   system
--   thread
-- Looking for OGRE...
-- Found Ogre Byatis (1.8.1)
-- Found OGRE: optimized;/usr/local/lib/libOgreMain.so;debug;/usr/local/lib/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/local/lib/libOgrePaging.so;debug;/usr/local/lib/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/local/lib/libOgreTerrain.so;debug;/usr/local/lib/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/local/lib/libOgreProperty.so;debug;/usr/local/lib/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/local/lib/libOgreRTShaderSystem.so;debug;/usr/local/lib/libOgreRTShaderSystem.so
-- Configuring freeoriond 
-- Boost version: 1.52.0  
-- Found the following Boost libraries:
--   python
-- Found PythonLibs: /usr/local/lib/libpython2.7.so (found suitable version "2.7.6", minimum required is "2")
-- Configuring freeorionca
-- Boost version: 1.52.0  
-- Found the following Boost libraries:
--   python
-- Configuring freeorion  
-- Found OpenAL: /usr/local/lib/libopenal.so
-- Found ALUT: /usr/local/lib/libalut.so
-- Looking for OGRE...
-- Found Ogre Byatis (1.8.1)
-- Found OGRE: optimized;/usr/local/lib/libOgreMain.so;debug;/usr/local/lib/libOgreMain.so
-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/local/lib/libOgrePaging.so;debug;/usr/local/lib/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/local/lib/libOgreTerrain.so;debug;/usr/local/lib/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/local/lib/libOgreProperty.so;debug;/usr/local/lib/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/local/lib/libOgreRTShaderSystem.so;debug;/usr/local/lib/libOgreRTShaderSystem.so
-- Found Ogg: /usr/local/lib/libogg.so
-- Found Vorbis: /usr/local/lib/libvorbis.so
-- Found Bullet: /usr/local/lib/libBulletDynamics.a
-- Looking for OIS...
-- Found OIS: optimized;/usr/local/lib/libOIS.so;debug;/usr/local/lib/libOIS.so
-- Configuring done
-- Generating done
-- Build files have been written to: /root/FreeOrion
root@pbfbsd ~/FreeOrion > pkg info|grep boost
boost-jam-1.52.0_1             Build tool from the boost.org
boost-libs-1.52.0_2            Free portable C++ libraries (without Boost.Python)
boost-python-libs-1.52.0       Framework for interfacing Python and C++
root@pbfbsd ~/FreeOrion > pkg info -l boost-python-libs-1.52.0
boost-python-libs-1.52.0:
        /usr/local/lib/libboost_python.a
        /usr/local/lib/libboost_python.so
        /usr/local/lib/libboost_python.so.5

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: building on FreeBSD

#22 Post by Geoff the Medio »

Does the link command include the python library?

User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: building on FreeBSD

#23 Post by adrian_broher »

what is the output of make if you call 'make VERBOSE=1'?
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#24 Post by Nagilum »

Output limited to about a page:

Code: Select all

Linking CXX executable ../freeoriond
cd /root/FreeOrion/server && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/freeoriond.dir/link.txt --verbose=1
/usr/local/bin/g++48    -Wno-deprecated -Wall -Wno-parentheses -fvisibility=hidden    CMakeFiles/freeoriond.dir/dmain.cpp.o CMakeFiles/freeoriond.dir/SaveLoad.cpp.o CMakeFiles/freeoriond.dir/ServerApp.cpp.o CMakeFiles/freeoriond.dir/ServerFSM.cpp.o CMakeFiles/freeoriond.dir/__/combat/CombatSystem.cpp.o CMakeFiles/freeoriond.dir/__/network/ServerNetworking.cpp.o CMakeFiles/freeoriond.dir/__/python/PythonEnumWrapper.cpp.o CMakeFiles/freeoriond.dir/__/python/PythonLoggingWrapper.cpp.o CMakeFiles/freeoriond.dir/__/python/PythonUniverseWrapper.cpp.o CMakeFiles/freeoriond.dir/__/universe/PythonUniverseGenerator.cpp.o CMakeFiles/freeoriond.dir/__/universe/UniverseGenerator.cpp.o  -o ../freeoriond  -L/usr/local/lib  ../libfreeorioncommon.so ../libfreeorionparse.so -lpython2.7 /usr/local/lib/libboost_python.so -lpthread /usr/local/lib/libboost_chrono.so /usr/local/lib/libboost_date_time.so /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_regex.so /usr/local/lib/libboost_serialization.so /usr/local/lib/libboost_signals.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_thread.so -lz ../liblog4cpp.a -Wl,-rpath,/root/FreeOrion:/usr/local/lib:
CMakeFiles/freeoriond.dir/SaveLoad.cpp.o: In function `boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive, char, std::char_traits<char> >::~binary_iarchive_impl()':
SaveLoad.cpp:(.text._ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEED2Ev[_ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEED5Ev]+0x30): undefined reference to `boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::~basic_binary_iprimitive()'
SaveLoad.cpp:(.text._ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEED2Ev[_ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEED5Ev]+0x5a): undefined reference to `boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::~basic_binary_iprimitive()'
CMakeFiles/freeoriond.dir/SaveLoad.cpp.o: In function `boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::~binary_oarchive_impl()':
SaveLoad.cpp:(.text._ZN5boost7archive20binary_oarchive_implINS0_15binary_oarchiveEcSt11char_traitsIcEED2Ev[_ZN5boost7archive20binary_oarchive_implINS0_15binary_oarchiveEcSt11char_traitsIcEED5Ev]+0x30): undefined reference to `boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::~basic_binary_oprimitive()'
SaveLoad.cpp:(.text._ZN5boost7archive20binary_oarchive_implINS0_15binary_oarchiveEcSt11char_traitsIcEED2Ev[_ZN5boost7archive20binary_oarchive_implINS0_15binary_oarchiveEcSt11char_traitsIcEED5Ev]+0x5a): undefined reference to `boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::~basic_binary_oprimitive()'
CMakeFiles/freeoriond.dir/SaveLoad.cpp.o: In function `boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive, char, std::char_traits<char> >::binary_iarchive_impl(std::istream&, unsigned int)':
SaveLoad.cpp:(.text._ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEEC2ERSij[_ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEEC5ERSij]+0x53): undefined reference to `boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::basic_binary_iprimitive(std::basic_streambuf<char, std::char_traits<char> >&, bool)'
SaveLoad.cpp:(.text._ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEEC2ERSij[_ZN5boost7archive20binary_iarchive_implINS0_15binary_iarchiveEcSt11char_traitsIcEEC5ERSij]+0xa6): undefined reference to `boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::~basic_binary_iprimitive()'
CMakeFiles/freeoriond.dir/SaveLoad.cpp.o: In function `boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive, char, std::char_traits<char> >::binary_oarchive_impl(std::ostream&, unsigned int)':

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#25 Post by Nagilum »

I wonder if its because of gcc-4.8. The rest of the ports have been build with clang and I wonder if we can link against clang build .so libraries using gcc? We could go back to clang for FO but then we would have to fix the C++ issues we saw earlier. On the other hand the cmake tests seem to succeed using gcc so I'm not sure what's going on.

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#26 Post by Nagilum »


User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: building on FreeBSD

#27 Post by adrian_broher »

Nagilum wrote:I wonder if its because of gcc-4.8. The rest of the ports have been build with clang and I wonder if we can link against clang build .so libraries using gcc?
Sounds like a good reason. Maybe the g++ and clang ABI are different now.

You should try instead to compile with clang as you already suggested.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
cami
Space Dragon
Posts: 411
Joined: Tue Sep 20, 2011 10:32 pm
Location: Halle (Saale)

Re: building on FreeBSD

#28 Post by cami »

Can't add much that hasnt already been said. Would be best if you compile C++ libs with the same compiler as fo, even if other compilers claim to have compatible ABI. You can use nm to test what symbols a .o file requires and what symbols a library exports, if freebsd offers that tool.
Yesterday, we were still on the brink. Fortunately, today we have come one step further.

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#29 Post by Nagilum »

Since clang is the default compiler on FreeBSD it doesn't really seem feasible to demand that all dependencies be build using gcc since that would also entail that all other packages on the system that depend on any of FO's dependencies would also have to be build using gcc.
I might set up a jail where I do all that and assuming I actually manage to build FO and all its dependencies using gcc there then maybe I would be able to provide that as a way out. We'll see.

Just for completeness I also tested building with clang3.4: http://www.nagilum.org/repo/svn6904-clang34.html

User avatar
Nagilum
Release Manager, Design
Posts: 212
Joined: Thu Dec 31, 2009 3:25 pm
Location: Germany

Re: building on FreeBSD

#30 Post by Nagilum »

Compiling with gcc48 now hits this error:

Code: Select all

[ 74%] Building CXX object server/CMakeFiles/freeoriond.dir/__/universe/PythonUniverseGenerator.cpp.o
In file included from /usr/local/include/boost/date_time/gregorian/parsers.hpp:13:0,
                 from /usr/local/include/boost/date_time/gregorian/gregorian.hpp:34,
                 from /usr/local/include/boost/date_time/posix_time/time_formatters.hpp:12,
                 from /root/FreeOrion/universe/PythonUniverseGenerator.cpp:36:
/usr/local/include/boost/date_time/date_parsing.hpp:50:33: error: macro "tolower" passed 2 arguments, but takes just 1
         std::tolower(inp[i], loc);
                                 ^
/usr/local/include/boost/date_time/date_parsing.hpp: In function 'std::string boost::date_time::convert_to_lower(std::string)':
/usr/local/include/boost/date_time/date_parsing.hpp:44:14: error: cannot resolve overloaded function 'tolower' based on conversion to type 'char'
       inp[i] =
              ^
*** Error code 1
FreeBSD now has boost1.55 which I believe is the root cause for this problem.
Unfortunately don't really know how to work around this. :(

Post Reply