"symbol(s) not found for architecture x86_64" when trying to build using Make on Mac OS X Lion
I'm having problems to build the Robocup Soccer Server (rcssserver 15.0.1) on Mac OS X Lion. I think the problem is with Boost.
The following is the output of the "make" (second try, to display just the errors) command:
make all-recursive
Making all in rcssbase
Making all in net
make[3]: Nothing to be done for `all'.
Making all in conf
make[3]: Nothing to be done for `all'.
Making all in gzip
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
make all-am
/bin/sh ../libtool --tag=CXX --mode=link g++ -W -Wall -g -O2 -L../rcssbase/conf -L../rcssbase/net -L../rcssbase/gzip -L/usr/local/lib64 -o rcssserver audio.o bodysender.o coach.o csvsaver.o dispsender.o field.o fullstatesender.o heteroplayer.o initsender.o initsendercoach.o initsenderlogger.o initsendermonitor.o initsenderonlinecoach.o initsenderplayer.o landmarkreader.o logger.o main.o monitor.o netif.o pcombuilder.o pcomparser.o player.o playerparam.o object.o referee.o remoteclient.o resultsaver.o serializer.o serializercoachstdv1.o serializercoachstdv7.o serializercoachstdv8.o serializercoachstdv13.o serializercoachstdv14.o serializercommonstdv1.o serializercommonstdv7.o serializercommonstdv8.o serializermonitor.o serializeronlinecoachstdv1.o serializeronlinecoachstdv6.o serializeronlinecoachstdv7.o serializeronlinecoachstdv8.o serializeronlinecoachstdv13.o serializeronlinecoachstdv14.o serializerplayerstdv1.o serializerplayerstdv7.o serializerplayerstdv8.o serializerplayerstdv13.o serializerplayerstdv14.o serverparam.o stadium.o stdoutsaver.o stdtimer.o synctimer.o team.o utility.o visualsendercoach.o visualsenderplayer.o weather.o xmlreader.o xpmholder.o player_command_parser.o player_command_tok.o -lrcssclangparser -lrcssconfparser -lrcssnet -lrcssgz -lz -lm
libtool: link: g++ -W -Wall -g -O2 -o .libs/rcssserver audio.o bodysender.o coach.o csvsaver.o dispsender.o field.o fullstatesender.o heteroplayer.o initsender.o initsendercoach.o initsenderlogger.o initsendermonitor.o initsenderonlinecoach.o initsenderplayer.o landmarkreader.o logger.o main.o monitor.o netif.o pcombuilder.o pcomparser.o player.o playerparam.o object.o referee.o remoteclient.o resultsaver.o serializer.o serializercoachstdv1.o serializercoachstdv7.o serializercoachstdv8.o serializercoachstdv13.o serializercoachstdv14.o serializercommonstdv1.o serializercommonstdv7.o serializercommonstdv8.o serializermonitor.o serializeronlinecoachstdv1.o serializeronlinecoachstdv6.o serializeronlinecoachstdv7.o serializeronlinecoachstdv8.o serializeronlinecoachstdv13.o serializeronlinecoachstdv14.o serializerplayerstdv1.o serializerplayerstdv7.o serializerplayerstdv8.o serializerplayerstdv13.o serializerplayerstdv14.o serverparam.o stadium.o stdoutsaver.o stdtimer.o synctimer.o team.o utility.o visualsendercoach.o visualsenderplayer.o weather.o xmlreader.o xpmholder.o player_command_parser.o player_command_tok.o -Wl,-bind_at_load -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/conf -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/net -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/gzip -L/usr/local/lib64 /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/src/.libs/librcssclangparser.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/conf/.libs/librcssconfparser.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/net/.libs/librcssnet.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/gzip/.libs/librcssgz.dylib -lz -lm
ld: warning: directory not found for option '-L/usr/local/lib64'
Undefined symbols for architecture x86_64:
"boost::system::generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in audio.o
global constructors keyed to _ZN4rcss10BodySenderC2ERSoin bodysender.o
global constructors keyed to _ZN5CoachC2ER7Stadiumin coach.o
global constructors keyed to _ZN8CSVSaver4NAMEEin csvsaver.o
global constructors keyed to _ZN4rcss10DispSenderC2ERSoin dispsender.o
global constructors keyed to _ZN4rcss15FullStateSenderC2ERSoin fullstatesender.o
global constructors keyed to _ZN4rcss21InitSenderOnlineCoach7factoryEvin initsenderonlinecoach.o
...
"boost::system::system_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in audio.o
global constructors keyed to _ZN4rcss10BodySenderC2ERSoin bodysender.o
global constructors keyed to _ZN5CoachC2ER7Stadiumin coach.o
global constructors keyed to _ZN8CSVSaver4NAMEEin csvsaver.o
global constructors keyed to _ZN4rcss10DispSenderC2ERSoin dispsender.o
global constructors keyed to _ZN4rcss15FullStateSenderC2ERSoin fullstatesender.o
global constructors keyed to _ZN4rcss21InitSenderOnlineCoach7factoryEvin initsenderonlinecoach.o
...
"boost::filesystem3::path::wchar_t_codecvt_facet()", referenced from:
CSVSaverParam::init(rcss::conf::Builder*) in csvsaver.o
boost::filesystem3::path::path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in csvsaver.o
boost::filesystem3::path::path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in logger.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
boost::filesystem3::path::path<char [31]>(char const (&) [31], boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<char [31]>::type>, void>::type*)in playerparam.o
boost::filesystem3::path::path<std::basic_stri开发者_运维技巧ng<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in playerparam.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
...
"boost::filesystem3::path::m_append_separator_if_needed()", referenced from:
boost::filesystem3::path& boost::filesystem3::path::append<char [14]>(char const (&) [14], std::codecvt<wchar_t, char, __mbstate_t> const&)in csvsaver.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in serverparam.o
"boost::filesystem3::path::m_erase_redundant_separator(unsigned long)", referenced from:
boost::filesystem3::path& boost::filesystem3::path::append<char [14]>(char const (&) [14], std::codecvt<wchar_t, char, __mbstate_t> const&)in csvsaver.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in serverparam.o
"boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
CSVSaver::openResultsFile() in csvsaver.o
Logger::openKawayLog() in logger.o
Logger::openTextLog() in logger.o
Logger::openGameLog() in logger.o
ServerParam::init(int const&, char const* const*)in serverparam.o
"boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
Logger::openKawayLog() in logger.o
Logger::openTextLog() in logger.o
Logger::openGameLog() in logger.o
ServerParam::init(int const&, char const* const*)in serverparam.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[3]: *** [rcssserver] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Does any of you guys have an idea to help me?
I just lost one night trying to figure this out!
Thanks!
It looks like either you failed to run ./configure
or your makefiles are making Linux-specific assumptions about where 64-bit libraries are located, see in particular the error message:
ld: warning: directory not found for option '-L/usr/local/lib64'
Try running ./configure
first and if that doesn't work then try doing a 32 bit build instead of 64 bit.
精彩评论