Mountain Lion で gcc-4.0 をコンパイルする方法

Mountain Lion で gcc-4.0 をコンパイルする方法

これまでのところ、configure は正常に起動しましたが、make と入力すると、しばらくすると次のエラーが発生します (正常にコンパイルされるものもたくさんあります)。

ld: -arch i686 の不明/サポートされていないアーキテクチャ名
/usr/bin/libtool: 内部リンク編集コマンドが失敗しました
make[2]: *** [libgcc_s.dylib] エラー1
make[1]: *** [libgcc.a] エラー2
make: *** [all-gcc] エラー 2

gcc に i686 アーキテクチャ用にコンパイルしないように指示する方法はありますか?

uname -aこれが役に立つかどうかはわかりませんが、

Darwin Frizlabs-Computer.local 12.2.0 Darwin カーネル バージョン 12.2.0: 2012 年 8 月 25 日土曜日 00:48:52 PDT; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64

PS: gcc-4.0 は古いものだとわかっていますが、必要なのです。

答え1

GCC は XCode に含まれていますが、本当に GCC だけが必要な場合は、OSX GCC インストーラー用のこのプロジェクトも GitHub で見つかります。

https://github.com/kennethreitz/osx-gcc-installer

osx-gcc-installer を使用すると、事前に構築されたバイナリ パッケージから必須のコンパイラをインストールしたり、独自のインストーラーを作成したりできます。

Lion および Mountain Lion ユーザー向けに、Apple は Xcode 自体をインストールしなくてもインストールできる公式の Command Line Tools for Xcode パッケージを提供しています。Apple の開発者サイトからダウンロードできます。gcc-4.2 がまだ必要で、Homebrew を使用している場合は、homebrew/dupes の apple-gcc42 パッケージを使用してインストールできます。

編集:

さて、XCode 3.1に含まれていた古い4.0パッケージを以下から入手してください。Appleのオープンソースページ

gcc-5493パッケージをダウンロードし、READMEの指示に従ってコンパイルをテストしました。Apple

BUILDING, THE APPLE WAY は私にはうまくいきませんでしたが、BUILDING, THE FSF WAY は修正を加えることでうまくいきました...

FSF の方法で構築するには、--enable-languages=objc,c++,obj-c++言語を制限するために を追加する必要があります。何かがエラーを引き起こしていましたが、それがどれなのかを突き止める時間がありません。しかし、以下を使用すると正常にコンパイルされました。

mkdir darwin
cd darwin
../configure --prefix=/tmp/testplace --enable-languages=objc,c++,obj-c++
make bootstrap
make install

また、XCodeとコマンドラインツールがインストールされていることを確認してください。

Using built-in specs.
Target: i686-apple-darwin12.2.0
Configured with: ../configure --prefix=/tmp/testplace --enable-languages=objc,c++,obj-c++
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)

関連情報