Mac OSX Lionでcpp-netlibのビルドに失敗したときのメモ

環境

Mac OS X 10.7.5
cpp-netlib 0.9.4
GCC 4.7.0
CMake 2.8.11
Boost 1.53.0

手順

http://cpp-netlib.org/0.9.4/getting_started.html#getting-startedの通り

  1. https://github.com/cpp-netlib/cpp-netlib/downloadsからダウンロードし~/cpp-netlibに展開
  2. 下記のコマンド実行
$ 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