Boost Users :
Subject: Re: [Boost-users] Trouble building 32bit version
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2010-08-06 01:12:50
Noah Roberts wrote:
> I have a 64bit Linux system and I need to build boost for 32bit in order
> to link to this library I have to use. Trouble is that I keep getting
> this error when I try to link to any boost library:
> nroberts_at_Adad:~$ g++ test.cpp -m32 -L/home/nroberts/boost-x86/lib
> /home/nroberts/boost-x86/lib/libboost_thread-gcc44-mt.so: undefined
> reference to `__sync_fetch_and_add_4'
> collect2: ld returned 1 exit status
> test.cpp just contains an empty main().
> I've tried google and arrived at various places:
> Among others. I'm trying to build version 1.38.
> Here's my last attempt at supplying bjam with the correct parameters:
> bjam architecture=x86 address-model=32 toolset=gcc instruction-set=i686
This seems about right. You might want to add
to completely rebuild the thread library. Then, check timestamp at
to make sure it was rebuilt.
> It's funny though, even at the link in the reply held at nabble.com the
> documentation doesn't seem to have anything on any of these parameters.
> They don't appear in the bjam --help output either. So I seem to be
> kind of screwed in figuring this out myself. I'm just trying to guess
> until I get it but I'm out of ideas.
You might want to thanks gcc developers for this mess. __sync_fetch_and_add_4
is a popular error with Boost, especially for not-exactly-native configurations,
due to the fact that gcc always provides certain builtin, which sometimes does
> What do I need to do?
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