3582 Build Errors, OS X 10.6

Questions, problems and discussion about compiling FreeOrion.

Moderator: Oberlus

Message
Author
neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#46 Post by neuro »

Another odd hint about the previous BOOST_concept issue is these two warnings in concept_def.hpp:

/Users/dominictancredi/Downloads/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept/detail/concept_def.hpp:34:1: warning: "BOOST_concept" redefined
/Users/dominictancredi/Downloads/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept/detail/concept_def.hpp:34:1: warning: this is the location of the previous definition


for this code:

Code: Select all

# define BOOST_concept(name, params)
And added the following to Config.h :

Code: Select all

#ifdef check
#undef check
#endif
and undid my change to static_move_ptr.hpp

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

Re: 3582 Build Errors, OS X 10.6

#47 Post by Geoff the Medio »

neuro wrote:And added the following to Config.h :

Code: Select all

#ifdef check
#undef check
#endif
You shouldn't fix unrelated things by modifying Config.h; it's generated by CMake (I think) and there's no way to store those changes. Rather, find where the offending file gets included, and put an OSX-only wrapper around the #undef line before that include...

neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#48 Post by neuro »

Quite Right.

The file is included several files deep in "PathingEngine.h" in the "FreeOrion/combat" directory.

So I updated it to this, after reviewing other examples of checking for FREEORION_MACOSX:


#ifdef FREEORION_MACOSX
#undef check
#endif

#include <boost/ptr_container/ptr_vector.hpp>

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

Re: 3582 Build Errors, OS X 10.6

#49 Post by Geoff the Medio »

neuro wrote:...I updated it to this...
And does the build now work?

neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#50 Post by neuro »

Sorry, no, that fixed the previous error with "check".

I'm still getting 25 errors I'm trying to debug in FreeOrionServer.

In graph_concepts.hpp and concept_check.hpp, it's having issues with the BOOST_CONCEPT_USAGE and BOOST_CONCEPT_ASSERT methods.

This really doesn't make much sense, since Boost should be linking to GG just fine at this point.

I posted two of the errors earlier and am googling to see why this would be happening.

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: 3582 Build Errors, OS X 10.6

#51 Post by night »

I am able to build GG with some warnings after simply updating DevIL's includes.
The targets FREEALUT, GG, and ClientCommon are building properly.
ClientCommon is the only target which is left and after updating Boost's includes from their svn I get the following errors:

EDIT: I should have read the entire thread before... I am now fixing the boost deprecation errors.
EDIT2: Yay! After some changes in Directories.cpp Commons now builds successfully :D

Code: Select all

Common

Errors:
/../util/MultiplayerCommon.cpp
/../util/MultiplayerCommon.cpp:500: error: 'class boost::filesystem3::path' has no member named 'native_file_string'
/../util/MultiplayerCommon.cpp:505: error: 'class boost::filesystem3::directory_entry' has no member named 'filename'
/../util/MultiplayerCommon.cpp:506: error: 'class boost::filesystem3::directory_entry' has no member named 'filename'


Warnings:
/../util/MultiplayerCommon.cpp:42: warning: '<unnamed>::temp_bool' defined but not used

/dep/local/include/boost/system/error_code.hpp
/dep/local/include/boost/system/error_code.hpp:214: warning: 'boost::system::posix_category' defined but not used

/dep/local/include/boost/system/error_code.hpp:215: warning: 'boost::system::errno_ecat' defined but not used
/dep/local/include/boost/system/error_code.hpp:216: warning: 'boost::system::native_ecat' defined but not used

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

Re: 3582 Build Errors, OS X 10.6

#52 Post by Geoff the Medio »

night wrote:I am able to build GG with some warnings after simply updating DevIL's includes.
By updating, do you mean removing? DevIL isn't used anymore, so shouldn't be included in the GG build.
night wrote:EDIT2: Yay! After some changes in Directories.cpp Commons now builds successfully :D
What changes did you need to make to Directories.cpp and what were the errors before you made the changes? (And what SVN version of FreeOrion were you building?)

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: 3582 Build Errors, OS X 10.6

#53 Post by night »

I am using r3995 from svn.
DevIL caused some errors: here
I downloaded DevIL 1.7.8 and overwrote the includes of the SDK.

Then I downloaded Boost 1.46.1 and replaced those includes too.

I had to change the following files to deal with the deprecation of some methods:

Directories.cpp

Line 50/51

Code: Select all

if (fs::path::default_name_check_writable())
        fs::path::default_name_check(fs::native);
to

Code: Select all

// if (fs::path::default_name_check_writable())
//       fs::path::default_name_check(fs::native);
Line 334/335

Code: Select all

fs::path from_abs = fs::absolute(from);
    fs::path to_abs = fs::absolute(to);
to

Code: Select all

fs::path from_abs = fs::complete(from);
    fs::path to_abs = fs::complete(to);
MultiplayerCommon.cpp

Line 500-506

Code: Select all

Logger().debugStream() << "MultiplayerLobbyData::MultiplayerLobbyData save dir path: " << save_dir.native_file_string();
    fs::directory_iterator end_it;
    for (fs::directory_iterator it(save_dir); it != end_it; ++it) {
        try {
#if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION == 3
            if (fs::exists(*it) && !fs::is_directory(*it) && it->filename()[0] != '.') {
                std::string filename = it->filename();
to

Code: Select all

    Logger().debugStream() << "MultiplayerLobbyData::MultiplayerLobbyData save dir path: " << save_dir.string();
    fs::directory_iterator end_it;
    for (fs::directory_iterator it(save_dir); it != end_it; ++it) {
        try {
#if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION == 3
            if (fs::exists(*it) && !fs::is_directory(*it) && it->path().filename().native()[0] != '.') {
                std::string filename = it->path().filename().native();
Now I am stuck at compiling boost - this seems to be a problem with the compiler (LLVM GCC 4.2 / GCC 4.2 / LLVM compiler 2.0).
I get the following errors when I am building with LLVM GCC 4.2:

Code: Select all

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp
/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:64: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:83: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:64: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::Graph<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:83: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::IncidenceGraph<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:49: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::concepts::MultiPassInputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::concepts::MultiPassInputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:84: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::MultiPassInputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::MultiPassInputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/graph/graph_concepts.hpp:50: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::InputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp
/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::BFSVisitorConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > >, boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::BFSVisitorConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > >, boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::IncidenceGraphConcept<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::IncidenceGraphConcept<boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::BFSVisitorConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > >, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::BFSVisitorConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > >, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:162: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::CopyConstructibleConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::CopyConstructibleConcept<boost::bfs_visitor<std::pair<<unnamed>::PathFindingShortCircuitingVisitor, boost::predecessor_recorder<int*, boost::on_tree_edge> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> >, boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> >, boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::ReadWritePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::ReadWritePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> >, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> >, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:140: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Assignable<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:236: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:515: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::InputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::InputIterator<boost::filter_iterator<boost::detail::out_edge_predicate<Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all, boost::filtered_graph<boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, boost::property<boost::edge_weight_t, double, boost::no_property>, boost::no_property, boost::listS>, Universe::GraphImpl::EdgeVisibilityFilter, boost::keep_all> >, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >*, std::vector<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> >, std::allocator<boost::detail::sei_<long unsigned int, std::_List_iterator<boost::list_edge<long unsigned int, boost::property<boost::edge_weight_t, double, boost::no_property> > >, boost::property<boost::edge_weight_t, double, boost::no_property> > > > >, long unsigned int, boost::detail::edge_desc_impl<boost::undirected_tag, long unsigned int>, int> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:162: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> > > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> > > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed [with Model = boost::CopyConstructibleConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> > >]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::CopyConstructibleConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<<unnamed>::PathFindingShortCircuitingVisitor>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int>, long unsigned int, long unsigned int&>, double*, std::less<double>, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::adj_list_edge_property_map<boost::undirected_tag, double, const double&, long unsigned int, const boost::property<boost::edge_weight_t, double, boost::no_property>, boost::edge_weight_t>, int*, double*, std::plus<double>, std::less<double> > >]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::ReadablePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::ReadablePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' has not external linkage

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept_check.hpp:45: error: 'boost::concepts::constraint<Model>::failed [with Model = boost::WritablePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' is not a valid template argument for type 'void (*)()' because function 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::WritablePropertyMapConcept<boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::property<<unnamed>::vertex_system_id_t, int, boost::property<boost::vertex_index_t, int, boost::no_property> >, long unsigned int> >, long unsigned int>]' has not external linkage


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

Re: 3582 Build Errors, OS X 10.6

#54 Post by Geoff the Medio »

night wrote:DevIL caused some errors: here
I downloaded DevIL 1.7.8 and overwrote the includes of the SDK.
As above, DevIL isn't used, so should be removed, not updated.
I had to change the following files to deal with the deprecation of some methods:
I'm about to commit some similar changes; thanks for pointing them out.
Now I am stuck at compiling boost - this seems to be a problem with the compiler (LLVM GCC 4.2 / GCC 4.2 / LLVM compiler 2.0).
I get the following errors when I am building with LLVM GCC 4.2:
I can't help with that, unfortunately.

neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#55 Post by neuro »

Hey night! Nice to meet another Mac OS X programmer.

You're experiencing the same issues I have. We're both trying to compile on LVM GCC 4.2.

The DevIL library shouldn't be used anymore. If you check out Config.h in the root of the Project File (which is actually pointing to the file Config.h within GG/GG), you should update it to this :

#define GG_USE_DEVIL_IMAGE_LOAD_LIBRARY 0


That will make sure not to include DEVIL.

The warning within boost_concept.hpp is talked about on StackOverflow here.

The other warnings you're seeing (i.e. in OgreCUI.cpp, error_code.hpp, etc. I've just ignored (or possibly can surpress based on these posts) even though it's against my better instincts as a developer to not just solve them.

I'm researching the "BOOST_CONCEPT" issues now. Looks like it might be a version of boost library with GCC 4.2. Still not sure of the solution.

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: 3582 Build Errors, OS X 10.6

#56 Post by night »

Thank you for your advise on DevIL. I am now using LibPNG.
I am just not able to get boost to compile properly. This is really frustrating.

neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#57 Post by neuro »

I feel your pain brother. I want to contribute but the latest XCode / LVM GCC has barred me some doing so. I've been following this project for a long time now, and DID get it building back in the day to help contribute one change. It felt pretty good. I kinda hate to give up.

I'm NYC (east-coast) based; where are you located? Maybe we could sync up online and try to troubleshoot as a team some time this week?

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: 3582 Build Errors, OS X 10.6

#58 Post by night »

Well, I am from Germany and really have to improve my C++ skills to contribute to a project of this scale. FreeOrion is huge compared to what I have been working on than ever before. The problem is, that I often loose interest in projects after 2-3 months or so. In the beginning I am really ambitious - then something else catches my attention.
That resulted in me learning only parts of many programming languages (c, c#, vb .net, java, js, php, obj-c...)
Actually I started with c++ about 3 years ago but got only to the point where I had to create my own classes and work with pointers and so on.
Currently I am not able of understanding the "higher" concepts behind projects larger than a file-download-script or a calculator.
This leaves me just "bruteforcing" through solutions I come up with. FreeOrion could be a great chance to improve my skills and to contribute something to an open source project for a longer period of time. I made a small Java project some time ago - it felt good to make something people actually enjoy using. Also the project seems to need programmers who are working with OS X. Are we the only ones who try to get FreeOrion running on the mac? What I want to point out is that I can't tell you if you can rely on me and my "skills". At the moment I am avid and I want to get this thing compiling on the mac. But next week I could be gone. So I hope this can keep my attention and we can come up with a solution together.

BTT:
Maybe we could use the mac ports version of Boost... Earlier this week I was looking into compiling some open source games I found on the internet and I know that I got Boost built from mac ports via the console. Sadly I do not know how to make the project use the lib I got from mac ports instead of the includes.
If we have to stick to compiling Boost together with the project I am not sure either if Boost still supports (LLVM) GCC 4.2... that would mean we would have to build the entire project with the console instead of using XCode and we would have to build/install a more recent version of GCC on our systems.

neuro
Space Squid
Posts: 74
Joined: Sun Mar 07, 2010 10:17 pm

Re: 3582 Build Errors, OS X 10.6

#59 Post by neuro »

...Currently I am not able of understanding the "higher" concepts behind projects larger than a file-download-script or a calculator.
This leaves me just "bruteforcing" through solutions I come up with. FreeOrion could be a great chance to improve my skills and to contribute something to an open source project for a longer period of time.
Exactly, that's why I joined the project. It's bigger than any software project I've ever done (but I have a background in mobile (iOS and Android) and web development (social, e-commerce, and CMS - long lists of languages), and run a studio in NYC and Chicago that handles some pretty large projects).
Are we the only ones who try to get FreeOrion running on the mac? What I want to point out is that I can't tell you if you can rely on me and my "skills". At the moment I am avid and I want to get this thing compiling on the mac. But next week I could be gone. So I hope this can keep my attention and we can come up with a solution together.
I don't know. I thought it was me and maybe id-ego, tzlaine possibly? If you look at the commit history of the pbx file, that's who I'm seeing. But they're few and far between. I've talked to tzlaine in-frequently, and checked the IRQ chats but I rarely find anyone whose awake or around.

What I DO know is that we're probably the only ones who are working on it in Mac OSX 10.6, using XCode 4.x, which means LVM GCC 4.2, etc.

Basically, it was running semi-smoothly on XCode 3.x (GCC 4.0) and this latest update by the OS + Compilers is what it's struggling on. I know because I had it running smoothly (after some hiccups) last year and was able to do enough work to make a commit.
If we can crack this, we've got the build assured for at least a few more years for XCode. I hope.
BTT:
Maybe we could use the mac ports version of Boost... Earlier this week I was looking into compiling some open source games I found on the internet and I know that I got Boost built from mac ports via the console. Sadly I do not know how to make the project use the lib I got from mac ports instead of the includes.
Right, I installed MacPorts, and did an install for boost earlier in the debugging process. Some links that helped :

- instructions from Stack Overflow, that say just sudo port install boost - which worked for me
- boost version they're using
- MacPorts install on Mac OS X
If we have to stick to compiling Boost together with the project I am not sure either if Boost still supports (LLVM) GCC 4.2... that would mean we would have to build the entire project with the console instead of using XCode and we would have to build/install a more recent version of GCC on our systems.
I was looking into the *nix compile instructions instead of using XCode... it throws a few different errors, but you can try it out here. It was a way to try to attack the problem from a different vector.

Parts of it were useful, but I'm going to try saving my current build of the boost library, and doing the MacPorts install of boost, then copying those files from my /usr/locale/lib and /usr/locale/include into the "dep/locale/include" folder within XCode.

I manually built boost @ 1.45 to get the libraries running. If we're both having the same issue, then it's probably a GCC thing with Boost than a FreeOrion thing with boost / GG.

night
Space Kraken
Posts: 102
Joined: Sun Jun 12, 2011 1:21 pm

Re: 3582 Build Errors, OS X 10.6

#60 Post by night »

I had to change
ServerNetworking.cpp:420

Code: Select all

m_player_connection_acceptor.io_service(),
to

Code: Select all

m_player_connection_acceptor.get_io_service(),
I think this could be the key to solve all those graph_concepts.hpp / concept_check.hpp problems which seem to be related to errors in the (re)definition of BOOST_CONCEPT:

Code: Select all

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/concept/detail/concept_def.hpp:34
"BOOST_concept" redefined
Also there are new errors in static_move_ptr.hpp:148:

Code: Select all

/freeorion-sdk/FreeOrion/Xcode/dep/local/include/boost/ptr_container/detail/static_move_ptr.hpp
Macro "check" passed 2 arguments, but takes just 1
Function definition does not declare parameters
Macro "check" passed 2 arguments, but takes just 1
Function definition does not declare parameters
Macro "check" passed 2 arguments, but takes just 1
Function definition does not declare parameters

Post Reply