The problem seems to be that __sync_bool_compare_and_swap() is available only when the compiler knows that its generating code for i486 or up, and it's not available when compiling for i386.
The Racket headers files try to use C pre-processor tests to decide whether to use __sync_bool_compare_and_swap(), but a `configure' test will be more reliable. I'll push that change. Meanwhile, the workarounds are either to add something like "-march=i486" to CFLAGS or change "mzrt.h" at line 89 to `#if 1'. At Fri, 12 Aug 2011 16:50:16 -0300, Rodolfo Carvalho wrote: > Hello, > > I checked that the version of GCC in the machine is way too old. > GCC's website tells that GCC 4.4.6 is the oldest maintained release series. > > So maybe it's better to don't invest any time in "fixing" anything. > I have a possibility to migrate to a newer server at Webfaction with newer > GCC. > > Thanks, > > Rodolfo Carvalho > > > On Fri, Aug 12, 2011 at 12:15, Rodolfo Carvalho <rhcarva...@gmail.com>wrote: > > > On Fri, Aug 12, 2011 at 11:06, Matthew Flatt <mfl...@cs.utah.edu> wrote: > > > >> We've made some repairs in that area since 5.1.2, but I don't know if > >> we've solved the problem that you're seeing. Which version of gcc are > >> you using? > >> > >> > > $ gcc --version > > gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) > > > > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users