17

gcc バージョン 4.3.2 を使用している場合、以下を使用してスペックを生成する方法を確認できます。

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

libgcc と同じディレクトリに移動します。

cd /usr/local/gcc-4.3.2/lib/gcc/x86_64-unknown-linux-gnu/4.3.2
/usr/local/gcc-4.3.2/bin/gcc -dumpspecs > specs

変更可能な入力済みスペック ファイルがあります。ただし、それが完了しても、次のことがわかります。

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

-specsコンパイルごとにパラメーターを渡すように強制するのではなく、デフォルトでその仕様ファイルを使用するようにgccに指示するにはどうすればよいですか? 私が持っている別のシステムと一致させたいのですが、次のようになります。

$ /usr/local/gcc-4.3.2/bin/gcc -v
Reading specs from /usr/local/gcc-4.3.2/lib/gcc/i686-pc-linux-gnu/4.3.2/specs</code>

ご覧のとおり、2 つのシステムの主な違いは、既存のセットアップが 32 ビットであり、現在 64 ビット システムでそれを一致させようとしていることです。Linux のバージョンはそれ以外は同じで、同じバージョンの gcc をコンパイルしています。(両方のシステムで、gcc 4.3.2 は 2 番目の gcc インストールであり、4.1.2 は 4.3.2 のコンパイルに使用されます)

4

3 に答える 3

5

Johannes Schaub - litb による strace の提案で示唆されたように、コンパイラがファイルを探している場所に問題がありました。結局のところ、動作していないインストールでは、.bashrc に環境変数が設定されていたため、混乱が生じていました。

specs ファイルの正しい場所は、確かに libgcc があるディレクトリと同じです。そこを見ていることを確認してください。

于 2011-04-26T13:51:11.303 に答える
0

ビルドの一部としてスペック ファイルを使用して gcc を再ビルドします。

より簡単な解決策は、エイリアスを作成することです。

alias gcc_Gary gcc -specs /<folder With Specs File>/newSpecsFile
于 2011-04-25T15:09:54.980 に答える