Mac OSX Lionでcpp-netlibのビルドに失敗したときのメモ
手順
http://cpp-netlib.org/0.9.4/getting_started.html#getting-startedの通り
- https://github.com/cpp-netlib/cpp-netlib/downloadsからダウンロードし~/cpp-netlibに展開
- 下記のコマンド実行
$ mkdir ~/cpp-netlib-build $ cd ~/cpp-netlib-build $ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ../cpp-netlib $ make
エラー
/usr/bin/g++ -g -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o -o mime-roundtrip /usr/local/lib/libboost_unit_test_framework-mt.a ld: duplicate symbol boost::detail::system_signal_exception::report() const in /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) and CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o for architecture x86_64
原因
わかりません.
2013/06/02追記:GCC4.8.1だとエラーが増えました.
/usr/local/bin/g++-4.8 -g -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o -o mime-roundtrip /usr/local/lib/libboost_unit_test_framework-mt.a duplicate symbol boost::detail::system_signal_exception::report() const in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::signal_action() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::signal_action() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::signal_action(int, bool, bool, char*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::signal_action(int, bool, bool, char*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::system_error::system_error(char const*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_handler::s_active_handler in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::~signal_action() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_action::~signal_action() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_handler::signal_handler(bool, int, bool, char*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_handler::signal_handler(bool, int, bool, char*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_handler::~signal_handler() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::detail::signal_handler::~signal_handler() in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_monitor::catch_signals(boost::unit_test::callback0<int> const&) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_monitor::execute(boost::unit_test::callback0<int> const&) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::system_error::system_error(char const*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_exception::execution_exception(boost::execution_exception::error_code, boost::unit_test::basic_cstring<char const>, boost::execution_exception::location const&) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_exception::execution_exception(boost::execution_exception::error_code, boost::unit_test::basic_cstring<char const>, boost::execution_exception::location const&) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_exception::location::location(char const*, unsigned long, char const*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) duplicate symbol boost::execution_exception::location::location(char const*, unsigned long, char const*) in: CMakeFiles/mime-roundtrip.dir/mime-roundtrip.cpp.o /usr/local/lib/libboost_unit_test_framework-mt.a(execution_monitor.o) ld: 20 duplicate symbols for architecture x86_64