Boost logo

Boost :

Subject: Re: [boost] [1.45] Thread issues
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2010-10-22 10:15:08


> >>> Boost.Thread has some rather serious issues on mingw. [...]
> >> I intend to look at these tomorrow. I haven't touched mingw in a
> >> while, and the recent mingw releases appear to have changed the way
> >> things work. I have not encountered any problems with static linking
> >> with MSVC, but I will see if I can reproduce the problems.
> >>
> >> Anthony
> > Hey Anthony. I've been unable to produce the MSVC problem, too. I
> > think the issue is just with mingw.
>
> I think the current wave/testwave trunk regression test for MinGW
> illustrates thread's linking issues (or one of them). It links with static
> libraries.
>
> The link fails looking for two undefined symbols:
> _imp___ZN5boost6detail12get_tss_dataEPKv
>
> _imp___ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_
> functionEEEPvb
>
> These are the dllimport symbols for:
> boost::detail::get_tss_data(void const*)
> boost::detail::set_tss_data(void const*,
> boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)
>
> The errors are coming from libboost_wave, not the (test) source. So that
> library appears to have been compiled incorrectly.
>
> The test was compiled with:
> -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_USE_LIB=1 -
> DDATE_TIME_INLINE
>
> But the library was compiled with just -DBOOST_ALL_NO_LIB=1
>
> And these two export symbols are in thread's static library (but not with
> dllimport's 'imp' prefix).
>
> Should all static libraries be built with -DBOOST_THREAD_USE_LIB, or
> should BOOST_ALL_NO_LIB or other flags automatically define it? (Or is
> this specific test build configured wrong?)

The Wave tests do nothing specific except having '<link>static' requirements
for the static linking tests. Please correct me if I'm wrong, but I don't
believe the tests to be wrongly configured.

Regards Hartmut
---------------
http://boost-spirit.com


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