2

64 ビットの Fedora 17 サーバーで gcc/g++ 4.8 をコンパイルしようとしています。ビルドプロセスを構成しています

./configure --prefix=/opt/gcc-4.8 --with-cpu=x86-64 --enable-languages=c,c++ --disable-multiarch

次に、make を実行します。ビルドはしばらくチャンクし、crti.o が見つからないと失敗します。失敗する前のコンパイル手順で -m32 オプションが使用されていることに気付きました。これは、コンパイルが 32 ビット アーキテクチャに対して実行されていることを意味します。crti.o を検索したところ、/usr/lib パス (通常は 32 ビット用) ではなく、/usr/lib64 パスで見つかりました。私は 64 ビット用にのみコンパイルしたいので、configure に with-cpu 引数を含めました。明らかに、これでは十分ではありません。

ソースから 64 ビットのコンパイルのみが作成され、64 ビットのシステム ライブラリと同様のファイルのみがリンクされるようにするには、configure にどの引数を含める必要がありますか?

4

1 に答える 1

0

私も 64 ビット fc​​17 を使用しており、crti.o があります。

$ locate crti.o
/usr/lib/crti.o
/usr/lib64/crti.o
$ rpm -qf /usr/lib/crti.o
glibc-devel-2.15-58.fc17.i686
$ rpm -qf  /usr/lib64/crti.o
glibc-devel-2.15-58.fc17.x86_64

glibc-devel の 32 ビット バージョンを明示的にインストールしてみてください。

yum install glibc-devel.i686
于 2013-05-22T10:59:55.603 に答える