エラー1& OpenSolaris 2009.06でGCC 4.4.2をコンパイルする場合は2
-
06-07-2019 - |
質問
私の問題:
VirtualBox 3 i386マシンでのOpenSolaris 2009.06のインストールでGCC 4.4.2をコンパイル、ビルド、インストールしようとしています。しかし、makeを実行すると、同じエラーが表示されます:
> checking whether ln -s works... yes
checking for i386-pc-solaris2.11-gcc... /src/gcc-4.4.2/host-i386-pc-solaris2.11/gcc/xgcc -B/src/gcc-4.4.2/host-i386-pc-solaris2.11/gcc/ -B/usr/gnu/i386-pc-solaris2.11/bin/ -B/usr/gnu/i386-pc-solaris2.11/lib/ -isystem /usr/gnu/i386-pc-solaris2.11/include -isystem /usr/gnu/i386-pc-solaris2.11/sys-include
checking for suffix of object files... configure: error: in `/src/gcc-4.4.2/i386-pc-solaris2.11/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/src/gcc-4.4.2'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/src/gcc-4.4.2'
make: *** [all] Error 2
試行された解決策:
-
この質問に対する答えを試しました: OpenSolaris 2009.6でgcc 4.4.0をコンパイルする問題すなわち
./ configure --prefix = / usr / gnu --with-gmp = / usr / gnu --with-mpfr = / usr / gnu --with-as = / usr / sfw / bin / gas- with-gnu-as --with-gnu-ld
-
GNU GCCのプラットフォーム固有のソリューションを試しました。 GNU Solaris固有のビルド手順 つまり
./ configure --prefix = / usr / gnu --with-gmp = / usr / gnu --with-mpfr = / usr / gnu --with-as = / usr / sfw / bin / gas- with-gnu-as --with-ld = / usr / ccs / bin / ld --without-gnu-ld --enable-shared
上記の2つのソリューションで./configureを実行しても、同じエラーが表示されます
ご協力いただければ幸いです! ありがとう!
解決
-
既存のGCCでプログラムをコンパイルできますか?
そうでない場合は、解決する必要があります。
可能な場合は、その巨大な7引数のコマンド(「i386-pc-solaris2.11-gccを確認する」と表示されているコマンド-なぜこれらの7つの引数ですか?)を確認する必要があります。
-
「make bootstrap」を実行していますか?
そうでない場合、あなたは何をしますか?
もしそうなら、処理の行方はどこですか? (これはステージ1ですか、それともステージ2ですか?)
-
GCCのソースを/src/gcc-4.4.2に、オブジェクトファイルを/src/gcc-4.4.2-objに推奨設定を使用していますか?
そうでない場合は、そうしてください。使用:
cd /src/gcc-4.4.2-obj; ../gcc-4.4.2/configure ...
-
どのシェルを使用していますか
通常のSolaris 10(OpenSolarisではなく、IntelではなくSPARC)では、環境でCONFIG_SHELL = / bin / kshを設定して、物事をコンパイルする必要があります(デフォルトでは/ bin / shを使用しますが、/ bin Solaris 10の/ shはBourneシェルであり、
$(cmd ...)
などのBash / Korn / POSIXシェル表記を使用するJavaセクション(IIRC)の奥深くにスクリプトがあります。ただし、それは通常、処理のかなり後の段階に影響します。
ただし、Solaris 10でGCC 4.4.2を問題なく使用できました(ブートストラップコンパイラとしてGCC 4.4.1を使用)。