Boost logo

Boost Users :

Subject: Re: [Boost-users] undefined references '__sync_fetch_and_add_4 ' for Boost_1_39_0 on Alpha platform
From: Kevin Arunski (kevin.arunski_at_[hidden])
Date: 2010-11-23 07:58:01


On Nov 23, 2010, at 6:07 AM, Yan Wu wrote:

> Hi,
>
> I got an error when building OpenOffice.org on Alpha EV6 platform, the
> error log is as following:
>
>
> Compiling: comphelper/unxlngaxp.pro/misc/comphelp4gcc3_version.c
> Making: comphelper.lib
> Making: libcomphelp4gcc3.so
> ../unxlngaxp.pro/slo/enumberablemap.o: In function
> 'comphelper
> ::EnumerableMap
> ::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
> const&)': '__sync_fetch_and_add_4' undefined reference
> ./unxlngaxp.pro/slo/enumberablemap.o: In function
> 'comphelper
> ::EnumerableMap
> ::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
> const&)': '__sync_fetch_and_add_4'undefined reference
> ../unxlngaxp.pro/slo/enumberablemap.o: In function
> 'comphelper
> ::EnumerableMap
> ::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
> const&)': '__sync_fetch_and_add_4'undefined reference
> ../unxlngaxp.pro/slo/enumberablemap.o: In function
> 'comphelper
> ::EnumerableMap
> ::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
> const&)': '__sync_fetch_and_add_4'undefined reference
> ../unxlngaxp.pro/slo/enumberablemap.o: In function
> 'comphelper
> ::EnumerableMap
> ::initialize(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
> const&)': '__sync_fetch_and_add_4'undefined reference
> ../unxlngaxp.pro/slo/enumberablemap.o: more undefined references to
> '__sync_fetch_and_add_4' follow
> collect2: ld returned 1 exit status
> dmake: Error code 1: while making '../unxlngaxp.pro/lib/
> libcomphelp4gcc3.so'
>
>
> The <boost/shared_ptr.hpp> of Boost_1_39_0 is used here. Is this a bug
> on Boost_1_39_0 ? and is there already a fix for it?
>
> Best Regards,
> Yan
>

These functions are built-in functions provided by gcc to implement
atomic operations. For some platforms, these intrinsics were not
implemented.. You can either provide an implementation yourself, or
use a newer version of gcc that implements them.

KEVIN ARUNSKI


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