Hi there,

just want to inform the list for whoever who's interested how to compile GDC on Mac OS X Lion because it was tricky.

The first steps do as explained here: https://bitbucket.org/goshawk/gdc/wiki/Home#!installation

Be sure to have the libraries installed via MacPorts. Clone the repository, download and unpack gcc.

Before configuring, completely disable the AVX check in the i386 GCC driver by editing gcc/config/i386/driver-i386.c commenting out the line

has_avx = ecx & bit_AVX;

We have to do this because the assembler (as) delivered with MacOS doesn't support AVX. You could also try to use clang as assembler but it doesn't support the full AVX instruction set. Also you could try the binutils of MacPorts (GAS), but this doesn't - unfortunately - support reliable Mach-O output :-(

Now use as configure line:

./configure --enable-languages=d --disable-bootstrap --disable-nls --prefix=/opt/local --with-bugurl="https://bitbucket.org/goshawk/gdc/issues"; --enable-checking=yes --disable-libgomp --disable-libmudflap --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-arch=native --with-system-zlib=/opt/local --disable-multilib --enable-fully-dynamic-string

This may not be perfect, but it works. --with-system-zlib is necessary if you don't want the famous GCC_NO_EXECUTABLES error. The paths have to point into your MacPorts installation directory (with gmp, mpfr and libmpc). And what's most important: The whole GCC configuration won't work with --disable-shared. I don't know why but it just works without. --enable-fully-dynamic-string is necessary because the system libs of Mac OS also seem to use this - otherwise you would get memory errors.

Build the monster with
make -j2 2>&1 | tee build.log

and install with
make install

and you'll get a clean installation:

--- %< ---

andres-macbook-pro:objdir aw$ gdc -v
Using built-in specs.
COLLECT_GCC=gdc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin11.3.0/4.6.2/lto-wrapper
Target: x86_64-apple-darwin11.3.0
Thread model: posix
gcc version 4.6.2 20111026 (gdc 0.31 - r796:f4b81c81e760, using dmd 2.057) (GCC)

--- >% ---

Hope this helps! :-)

Best regards,
André Wösten

Reply via email to