1. ホーム
  2. linux

[解決済み] Gccコンパイル "オブジェクトファイルのサフィックスを計算できない: コンパイルできない"

2022-02-03 16:13:08

質問

LFSブック(バージョン7.1)を実際に読んでいるのですが、53ページでブロックされています。gccをコンパイルしようとして、以下のコマンドを試しました。

./configure --target=$LFS_TGT --prefix=$LFS/build/gcc-build --disable-nls\
--disable-shared --disable-multilib --disable-decimal-float --disable-threads\
--disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath\
--disable-target-libiberty --disable-target-zlib\
--enable-languages=c\
--without-ppl --without-cloog\
--with-mpfr-include=$LFS/source/mpfr/src
--with-mpfr-lib=$LFS/source/mpfr/src/.libs\
--with-gmp-include=/mnt/LFS/source/gmp\
--with-gmp-lib=/mnt/LFS/source/gmp/.libs\
--with-mpc-include=/mnt/LFS/source/mpc/src\
--with-mpc-lib=/mnt/LFS/source/mpc/src/.libs

でgccのconfigureスクリプトを実行します(もちろん、mpfr, mpc, gmpもコンパイル済みです)。 しかし、一度起動すると

make -j4

以下のようなエラーが発生します。

checking for suffix of object files... configure: error: in `/mnt/LFS/source/gcc-4.6.2/x86_64-lfs-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1

ググって出てきた解決策を試したが、何も効果がなかった。なぜこのようなエラーが出るのか、ご存知の方はいらっしゃいますか?

どのように解決するのですか?

この問題は、テストプログラムが libmpc/libmpfr/libgmp に対してリンクしようとしたときに、リンクライブラリのパスが異なるために発生します。

以下の環境変数を追加してください。 ld リンクは正しい そこで ファイルを作成します。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/mpc/lib/

その後、再度gccをビルドしてみてください。