Boost logo

Boost :

Subject: [boost] [Build] Boost 1.41(?) and OpenSuSE 11.2: i386 no more?
From: Christoph Duelli (duelli_at_[hidden])
Date: 2009-12-16 03:27:44


Building Boost 1.41 against OpenSuSE 11.2 works fine...
until you try to link a lib against a program:

You get the following linker error:
<path to boost_1_41_0>/lib/libboost_program_options-mt-Melos.so:
    undefined reference to `__sync_fetch_and_add_4'

Googling around indicated that libc or something no longer supports i386
which is Boost's default -march setting for gcc.
(see tools/build/v2/tools/gcc.jam)
When I changed the default to i686 and rebuilt Boost, the program linked ok.
[See: http://sourceware.org/ml/libc-alpha/2007-02/msg00009.html]

I am not sure if this is not rather a bug in OpenSuSE 11.2, but it is
annoying nevertheless.

* Is there an easy way (I modified gcc.jam for my test) to configure -march?
(Pleae see my post (yesterday) "Build boost for i686 (instead of i386)" in
boost.user.)
* Or maybe i386 is no longer a safe default to assume?

Best regards, and thank you
Christoph


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