Boost logo

Boost :

Subject: Re: [boost] [Test][Thread] Regression since 9 December?
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-01-11 18:58:04


Le 11/01/15 10:59, Vicente J. Botet Escriba a écrit :
> Hi,
>
> I'm getting a regression on all the Boost.Thread tests using
> Boost.Test to fail after this commit
> https://github.com/boostorg/test/commit/1eaffb96ceec82882a4e947c99735a37271ce303.
> See
> http://www.boost.org/development/tests/develop/developer/output/Sandia-clang-c++11-boost-bin-v2-libs-thread-test-test_2309-test-clang-darwin-4-2-1-debug-threading-multi.html.
>
>
> |../../../boost/system/config.hpp:34:3: erreur: #error Must not define
> both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK
> # error Must not define both BOOST_SYSTEM_DYN_LINK and
> BOOST_SYSTEM_STATIC_LINK
> |
>
> When I comment the added lines everything works correctly as before.
>
> The Boost.Thread jamfile contains
>
> | <library>/boost/test//boost_unit_test_framework/<link>static
> |
>
> If I change it to
>
> | <library>/boost/test//boost_unit_test_framework
> |
>
> I get an error
>
> |darwin.link
> ../../../bin.v2/libs/thread/test/test_thread.test/darwin-4.9.1/debug/threading-multi/test_thread
> Undefined symbols for architecture x86_64:
> "_main", referenced from:
> start in crt1.10.6.o
> ld: symbol(s) not found for architecture x86_64
> collect2: erreur: ld a retourné 1 code d'état d'exécution
>
> "/usr/gcc-4.9.1/bin/g++-4.9.1" -o
> "../../../bin.v2/libs/thread/test/test_thread.test/darwin-4.9.1/debug/threading-multi/test_thread"
> "../../../bin.v2/libs/thread/test/test_thread.test/darwin-4.9.1/debug/threading-multi/test_thread.o"
> "../../../bin.v2/libs/thread/test/test_thread.test/darwin-4.9.1/debug/threading-multi/winrt_init.o"
> "../../../bin.v2/libs/test/build/darwin-4.9.1/debug/threading-multi/libboost_unit_test_framework.dylib"
> "../../../bin.v2/libs/timer/build/darwin-4.9.1/debug/threading-multi/libboost_timer.dylib"
> "../../../bin.v2/libs/chrono/build/darwin-4.9.1/debug/threading-multi/libboost_chrono.dylib"
> "../../../bin.v2/libs/thread/build/darwin-4.9.1/debug/threading-multi/libboost_thread.dylib"
> "../../../bin.v2/libs/system/build/darwin-4.9.1/debug/threading-multi/libboost_system.dylib"
> -g
> |
>
> Do others observe the same?
>
> Do you have an idea how this can be fixed?
>
With the help of one of the Boost.Test maintainers, I have reached to
fix the issues. Boost.Thread was requesting to link static while
Boost.Time didn't.

What is surprising is that moving to a shared link has needed to modify
all the sources :(

Best,
Vicente


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