Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8810: Link error on some platforms: undefined reference to `boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-22 22:01:25
#8810: Link error on some platforms: undefined reference to
`boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
-----------------------------------------+--------------------------
Reporter: Gennady Proskurin <gpr@â¦> | Owner: viboes
Type: Bugs | Status: assigned
Milestone: To Be Determined | Component: thread
Version: Boost 1.54.0 | Severity: Problem
Resolution: | Keywords: get_lock_for
-----------------------------------------+--------------------------
Comment (by viboes):
Replying to [comment:11 timblechmann]:
> Replying to [comment:9 viboes]:
> > Replying to [comment:7 timblechmann]:
> > > boost.atomic is not header-only: the blocking emulation of atomics
using spinlocks requires linking with boost.atomic. whenever linking is
required, if the target platform does not support a specific atomic<> type
natively.
> >
> >
> > Note Tim that the user is cross-compiling.
>
> if the target platform is not supported natively by boost.atomic, it is
using spinlocks, which are placed inside the shared library. in general,
every user of boost.atomic should link with the library, no matter if
cross-compiling or not.
I believed that Boost.Atomic was header-only on most of the platforms. I
don't want to force the user to link with boost_atomic when there is no
need. Is there a macro that can be tested to know if Boost.Atomic is not
header only?
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8810#comment:12> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC