Boost logo

Boost :

Subject: [boost] [Signals] Build problem on Linux / ARM with GCC 3.4.4
From: Tobias Oberstein (tobias.oberstein_at_[hidden])
Date: 2008-09-20 17:20:10


I'm trying to build Boost.Signals on a Debian-based (Nokia Maemo OS2008
Diablo) system which is using GCC 3.4.4 toolchain (CodeSourcery ARM
2005q3-2).

Problem is when linking, I get duplicate symbol

boost::exception_detail::make_clone<boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
>(boost::exception_detail::error_info_injector<boost::bad_weak_ptr>

in

trackable.o
named_slot_map.o

Details see below.

Any hints?

Thanks alot,
tgo

[sbox-DIABLO_ARMEL: ~/build/boost_1_36_0] > bjam --toolset=gcc
--build-dir=/home/oberstet/tmp/boost --with-signals
warning: Graph library does not contain optional GraphML reader.
note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
note: directories containing the Expat headers and libraries, respectively.
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(don't panic: this is a strictly optional feature).
...patience...
...found 576 targets...
...updating 1 target...
gcc.link.dll
/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/libboost_signals-gcc34-mt-1_36.so.1.36.0
/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/named_slot_map.o:(.bss._ZZN5boost16exception_detail10make_cloneINS0_19error_info_injectorINS_12bad_weak_ptrEEEEEPNS0_10clone_baseERKT_E9bad_alloc[*boost::exception_detail::clone_base*
boost::exception_detail::make_clone<boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
>(boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
const&)::bad_alloc]+0x0): multiple definition of
`boost::exception_detail::clone_base*
boost::exception_detail::make_clone<boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
>(boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
const&)::bad_alloc'
/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/trackable.o:(.bss._ZZN5boost16exception_detail10make_cloneINS0_19error_info_injectorINS_12bad_weak_ptrEEEEEPNS0_10clone_baseERKT_E9bad_alloc[boost::exception_detail::clone_base*
boost::exception_detail::make_clone<boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
>(boost::exception_detail::error_info_injector<boost::bad_weak_ptr>
const&)::bad_alloc]+0x0): first defined here
collect2: ld returned 1 exit status

    "g++" -o
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/libboost_signals-gcc34-mt-1_36.so.1.36.0"
-Wl,-h -Wl,libboost_signals-gcc34-mt-1_36.so.1.36.0 -shared
-Wl,--start-group
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/trackable.o"
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/connection.o"
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/named_slot_map.o"
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/signal_base.o"
"/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/slot.o"
 -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -Wl,--strip-all -pthread

...failed gcc.link.dll
/home/oberstet/tmp/boost/boost/bin.v2/libs/signals/build/gcc-3.4.4/release/threading-multi/libboost_signals-gcc34-mt-1_36.so.1.36.0...
...failed updating 1 target...
[sbox-DIABLO_ARMEL: ~/build/boost_1_36_0] > g++ --version
sbox-arm-linux-g++ (GCC) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[sbox-DIABLO_ARMEL: ~/build/boost_1_36_0] >


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk