“未找到架构 x86_64 的符号”尝试在 Mac OS X Lion 上使用 Make 进行构建时
我在 Mac OS X Lion 上构建 Robocup Soccer Server (rcssserver 15.0.1) 时遇到问题。 我认为问题出在Boost上。
以下是“make”(第二次尝试,仅显示错误)命令的输出:
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_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 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
你们中有人有想法可以帮助我吗?
我刚刚花了一个晚上试图解决这个问题!
谢谢!
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_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 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!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看来您未能运行
./configure
或者您的 makefile 对 64 位库的位置进行了 Linux 特定的假设,请特别参阅错误消息:尝试运行
./首先配置
,如果这不起作用,那么尝试进行 32 位构建而不是 64 位。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:Try running
./configure
first and if that doesn't work then try doing a 32 bit build instead of 64 bit.