Boost logo

Boost :

Subject: Re: [boost] Where is this symbol defined?
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-07-11 16:37:51


On Friday 11 July 2014 14:53:04 Axel Ismirlian wrote:
> I was wondering where the symbol .test_main(int, char**) is defined if it
> comes up undefined.
>
> gcc.compile.c+
> +
> ../bin.v2/libs/asio/test/basic_datagram_socket_select.test/gcc-4.8.1/debug/
> threading-multi/basic_datagram_socket.o gcc.link
> ../bin.v2/libs/asio/test/basic_datagram_socket_select.test/gcc-4.8.1/debug/
> threading-multi/basic_datagram_socket_select ld: 0711-224 WARNING: Duplicate
> symbol: .init_unit_test_suite(int, char**) ld: 0711-345 Use the -bloadmap
> or -bnoquiet option to obtain more
> information.
> ld: 0711-317 ERROR: Undefined symbol: .test_main(int, char**)
> collect2: error: ld returned 8 exit status
>
> I have done an object dump and I know it is undefined in
> libboost_test_exec_monitor.a, but that's as far as I got.

I think, test_main is supposed to be defined by the test. Optionally,
Boost.Test could generate it if asked. I think you should define
BOOST_TEST_MODULE for that. I don't know if Boost.ASIO tests are supposed to
work that way.


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