Search code examples
garbage-collectioncompilationosx-snow-leopardboehm-gc

Building libgc fails on Mac OS X 10.6 Snow Leopard: ... and require _XOPEN_SOURCE to be defined


The following steps:

$ wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.0.tar.gz
$ tar xvfz gc-7.0.tar.gz
$ cd gc-7.0
$ ./configure
$ make

fail with this error:

In file included from mach_dep.c:163:
/usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, 
and require _XOPEN_SOURCE to be defined

Solution

  • ucontext.h is included here:

    $ fstr "ucontext.h" # find string ...
    ./mach_dep.c:163
    ./os_dep.c:2752
    

    Replace ucontext.h in mach_dep.c with sys/ucontext.h.

    Details: http://duriansoftware.com/joe/PSA:-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html