[osg-users] G++ version problem

Mathias Fröhlich M.Froehlich at science-computing.de
Sun Apr 3 23:21:18 PDT 2011

Good morning,

On Monday 04 April 2011, Grahame Bowland wrote:
> `__sync_bool_compare_and_swap_4' src.cxx:(.text+0x78): undefined reference
> to `__sync_bool_compare_and_swap_4' collect2: ld returned 1 exit status
> gmake[1]: *** [cmTryCompileExec] Error 1
> gmake: *** [cmTryCompileExec/fast] Error 2
> It does seem the builtins are disabled. As Alberto said probably because
> they're not available for the default 32-bit compiler target, Here's the
> 'g++ -v' output:
> Using built-in specs.
> Target: i686-pc-linux-gnu
> Configured with: ./configure --prefix=/opt/gcc-4.4.3
> --with-mpfr=/opt/mpfr-2.3.2 --enable-languages=c,c++,objc Thread model:
> posix
> gcc version 4.4.3 (GCC)

There is a configure time switch in gcc that changes the default architecture. 
Distributions usually have their compiler configured for something that 
includes support for atomics. But your hand configured gcc uses the really 
conservative i386 (not i486, really 80386) default which did not have any smp 
support at this very old time.
So either give -march=i686 or something sensible for your project to the c and 
c++ flags when doing the cmake configure step. Or rebuild gcc with the 
configure flag --with-cpu=i686 or something sensible for your build 
environment. Then rebuild osg from scratch.



Dr. Mathias Fröhlich, science + computing ag, Software Solutions
Hagellocher Weg 71-75, D-72070 Tuebingen, Germany
Phone: +49 7071 9457-268, Fax: +49 7071 9457-511
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Roland Niemeier, 
Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Michel Lepert
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196 

More information about the osg-users mailing list