Boost logo

Boost-Build :

From: Robert Ramey (Ramey_at_[hidden])
Date: 2004-12-29 18:29:38


While testing the serialization library DLL version with gcc 3.3 I get
duplicate symbols on link:

c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\g
cc\debug\boost_serialization-gcc-d-1_32.lib(d000000.o)(.idata$2+0x0): first
defined here
d000001.o(.idata$5+0x0): multiple definition of
`__imp___ZTVN5boost13serialization6detail27extended_type_info_typeid_0E'
c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\g
cc\debug\boost_serialization-gcc-d-1_32.lib(d003762.o)(.idata$5+0x0): first
defined here
d000001.o(.idata$6+0x0): multiple definition of
`__nm___ZTVN5boost13serialization6detail27extended_type_info_typeid_0E'
c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\g
cc\debug\boost_serialization-gcc-d-1_32.lib(d003762.o)(.idata$6+0x0): first
defined here
d000002.o(.idata$7+0x0): multiple definition of
`_boost_serialization_gcc_d_1_32_dll_iname'
c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\g
cc\debug\boost_serialization-gcc-d-1_32.lib(d003843.o)(.idata$7+0x0): first
defined here
Info: resolving vtable for
boost::serialization::detail::extended_type_info_typeid_0by linking to
__imp___ZTVN5boost13serialization6detail27extended_type_info_typeid_0E
(auto-import)
collect2: ld returned 1 exit status

The link command line looks like the folllowing. Note that the libraries are
all included twice. ?

"g++"
"-Wl,--enable-auto-image-base"
-g
-o
"c:\BoostMainCVS\bin\boost\libs\serialization\test\test_binary_binary_archiv
e_dll.test\gcc\debug\test_binary_binary_archive_dll.exe"
-L"c:/BoostMainCVS/bin/boost/libs/test/build/libboost_test_exec_monitor.lib/
gcc/debug"
-L"c:/BoostMainCVS/bin/boost/libs/serialization/build/boost_serialization.dl
l/gcc/debug"
"c:\BoostMainCVS\bin\boost\libs\serialization\test\test_binary_binary_archiv
e_dll.test\gcc\debug\test_binary.obj"
"c:\BoostMainCVS\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\gc
c\debug\libboost_test_exec_monitor.lib"
"c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\
gcc\debug\boost_serialization-gcc-d-1_32.lib"
"c:\BoostMainCVS\bin\boost\libs\test\build\libboost_test_exec_monitor.lib\gc
c\debug\libboost_test_exec_monitor.lib"
"c:\BoostMainCVS\bin\boost\libs\serialization\build\boost_serialization.dll\
gcc\debug\boost_serialization-gcc-d-1_32.lib"
-lboost_serialization-gcc-d-1_32

Is this intentional? Could this be the source of the duplicate symbols
error messages? Is there a way to address this?

Robert Ramey

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk