Mac OS X cross-compiler problems

Erik van Pienbroek erik at vanpienbroek.nl
Tue Feb 2 17:43:07 UTC 2010


Op maandag 01-02-2010 om 18:03 uur [tijdzone -0800], schreef Paarvai
Naai:
> Thanks for the quick update to the package.  I downloaded the latest
> darwinx-gcc package and the C++ compiler could not be used to link
> binaries.  I tracked it down to the fact that the SDK was not updated
> to mirror libstdc++.dylib from
> 
> /usr/darwinx/SDKs/MacOSX10.5.sdk/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin9/4.2.1/
> 
> to
> 
> /usr/darwinx/SDKs/MacOSX10.5.sdk/Developer/usr/llvm-gcc-4.2/lib/gcc/x86_64-apple-darwin9/4.2.1/

libstdc++ is bundled as a seperate package, darwinx-libstdcxx. The
pre-compiled version from the SDK shouldn't be used. The main goal of
the darwinx toolchain right now is to create self-hosted toolchain which
doesn't depend on binary blobs. I already removed the libstdc++ library
from the SDK's /usr/lib folder, but apparently I forgot to get rid of
the llvm-gcc version as well.

However, I didn't succeed in getting an x86_64 version of libstdcxx
compiled yet (there's a circular dependency where darwinx-g++ tries to
link against libstdc++ while building libstdc++)

> Not to harp on this issue too much, but did you find it much easier to
> create a separate x86_64-apple-darwin9 rather than using
> i686-apple-darwin9 and providing true multilib support?

I tried to compile gcc with --enable-multilib --enable-targets=all, but
that didn't return an gcc which can compile both i686 as x86_64..

> Also on snow leopard it looks like the compiler is called
> i686-apple-darwin10.  What is the distinction between 9 and 10?

The original work on this toolchain was done last summer. At that moment
Snow Leopard wasn't released yet so I used the 10.5 SDK (Leopard) as
starting point with the corresponding versions of gcc and other tools.

Regards,

Erik van Pienbroek




More information about the mingw mailing list