Linux Mint, Debian Edition, pulling from sid repositories
I have compiled & installed the following prerequisites on my own, from source, using gcc 4.5.2-5:
boost 1.46
bullet 2.77
ogre 1.7.2
I was previously successfully able to compile against boost 1.45 using the above sources and gcc 4.4.something.
GiGi compilation now fails:
Code: Select all
[snip...]
[ 22%] Building CXX object src/CMakeFiles/GiGi.dir/Timer.cpp.o
[ 23%] Building CXX object src/CMakeFiles/GiGi.dir/UnicodeCharsets.cpp.o
/root/freeorion-gcc4.5/FreeOrion/GG/src/Texture.cpp: In member function ‘void GG::Texture::Load(const std::string&, bool)’:
/root/freeorion-gcc4.5/FreeOrion/GG/src/Texture.cpp:296:77: error: conversion from ‘boost::filesystem3::path’ to non-scalar type ‘std::string’ requested
In file included from /usr/local/include/boost/filesystem/v3/operations.hpp:25:0,
from /usr/local/include/boost/filesystem/operations.hpp:31,
from /root/freeorion-gcc4.5/FreeOrion/GG/src/Texture.cpp:35:
/usr/local/include/boost/filesystem/v3/path.hpp: In constructor ‘boost::filesystem3::path::path(InputIterator, InputIterator) [with InputIterator = boost::transform_iterator<boost::algorithm::detail::to_lowerF<boost::filesystem3::path>, boost::filesystem3::path::iterator, boost::use_default, boost::use_default>]’:
/usr/local/include/boost/algorithm/string/detail/case_conv.hpp:113:33: instantiated from ‘SequenceT boost::algorithm::detail::transform_range_copy(const RangeT&, FunctorT) [with SequenceT = boost::filesystem3::path, RangeT = boost::filesystem3::path, FunctorT = boost::algorithm::detail::to_lowerF<boost::filesystem3::path>]’
/usr/local/include/boost/algorithm/string/case_conv.hpp:79:65: instantiated from ‘SequenceT boost::algorithm::to_lower_copy(const SequenceT&, const std::locale&) [with SequenceT = boost::filesystem3::path]’
/root/freeorion-gcc4.5/FreeOrion/GG/src/Texture.cpp:296:77: instantiated from here
/usr/local/include/boost/filesystem/v3/path.hpp:151:9: error: no matching function for call to ‘convert(const boost::filesystem3::path*, const boost::filesystem3::path*, boost::filesystem3::path::string_type&, const boost::filesystem3::path::codecvt_type&)’
/usr/local/include/boost/filesystem/v3/path_traits.hpp:96:8: note: candidates are: void boost::filesystem3::path_traits::convert(const char*, const char*, std::wstring&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:102:8: note: void boost::filesystem3::path_traits::convert(const wchar_t*, const wchar_t*, std::string&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:108:8: note: void boost::filesystem3::path_traits::convert(const char*, std::wstring&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:117:8: note: void boost::filesystem3::path_traits::convert(const wchar_t*, std::string&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:130:8: note: void boost::filesystem3::path_traits::convert(const char*, const char*, std::string&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:139:8: note: void boost::filesystem3::path_traits::convert(const char*, std::string&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:150:8: note: void boost::filesystem3::path_traits::convert(const wchar_t*, const wchar_t*, std::wstring&, const boost::filesystem3::path_traits::codecvt_type&)
/usr/local/include/boost/filesystem/v3/path_traits.hpp:159:8: note: void boost::filesystem3::path_traits::convert(const wchar_t*, std::wstring&, const boost::filesystem3::path_traits::codecvt_type&)
make[2]: *** [src/CMakeFiles/GiGi.dir/Texture.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/GiGi.dir/all] Error 2
make: *** [all] Error 2
A temporary fix of
is a suggested remedy, but I haven't looked at where the best place to put that would be.#define BOOST_FILESYSTEM_VERSION 2
I also suggest a note be added here: http://www.freeorion.org/index.php/Compile_In_Linux, mentioning that GiGi SVN 853->1040 is incompatible with boost 1.46.