Boost logo

Boost Users :

Subject: Re: [Boost-users] libboost_date_time: undefined reference to __sync_fetch_and_add_4
From: Carsten Raas (carsten.raas_at_[hidden])
Date: 2009-04-03 19:55:22


Hi Vladimir!

Vladimir Prus wrote:
> Carsten Raas wrote:
>>
>> I built a (complete) Boost 1.38 library with the Intel compilers
>> 10.1.021, 11.0.073, and 11.0.081 for an EM64T (x86_64) Linux
>> architecture. But I end up with the same problem for all builds: the
>> shared version of libboost_date_time cannot be linked to this simple
>> demo program:
> ...
>> I have been googling around for a while, but all I found was related to
>> GCC sync primitives (e.g. sync_lock_test_and_set, sync_fetch_and_add)
>> and different architectures (armel, sparc, etc.). I also tried the
>> workaround with
>> #define BOOST_SP_USE_PTHREADS
>> in boost/config/user.hpp, without success.
>
> Did you rebuild date_time itself with this change?

Yes, I did.

I followed the hint of Peter Dimov in
http://lists.boost.org/Archives/boost/2008/04/135521.php

This was a different context, I just wanted to have this checked.

> Is the file actually included anywhere?

Not directly, but config.hpp includes user.hpp. And compiler_config.hpp
(of date_time) includes config.hpp. So I just was not sure whether this
#define would influence boost_date_time at all or not.

> Does adding such define near the point where BOOST_SP_USE_PTHREADS
> is tested helps?

Well, it is not used directly. But I found things like BOOST_HAS_THREADS
and I don't know where they come from. So I used user.hpp to define
BOOST_SP_USE_PTHREADS.

I could not find a better header file to define it.
detail/sp_counted_base.hpp refers to BOOST_SP_USE_PTHREADS, but it
includes config.hpp which includes user.hpp.

Best regards,
-Carsten


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net