Fedora 30で--> GCC-9.2.0をコンパイルします。同様の問題に対する解決策を見つけましたが、まったく同じではありませんでした。何人かの人々はこれが間違いだと言います。コンパイルの準備時に最初のエラーが発生します。
../configure --target=$LFS_TGT / --prefix=/tools / ...etc.
The errors here are:
/bin/ld: cannot find crt1.o: No such file or directory
/bin/ld: cannot find crti.o: No such file or directory
/bin/ld: skipping incompatible //lib/libgcc_s.so.1 when searching for /lib/libgcc_s.so.1
/bin/ld: cannot find /lib/libgcc_s.so.1 inside /
明らかに32ビットで検索しているようです/lib
。 64ビットで作業しています。しかし、これらのエラーを無視して次のコマンドmakeを実行すると、同様のエラーメッセージが表示され、そこでハングしてコンパイルを完了できません。エラーは次のとおりです。
functions are only in"; echo " the static library. */"; echo "GROUP
( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
/usr/local/x86_64-pc-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make[3]:*** [Makefile:992: libgcc_s.so] Error 1
make[3]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build/x86_64-pc-linux-gnu/libgcc
make[2]:*** [Makefile:21399: all-stage1-target-libgcc] Error 2
make[2]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build
make[1]: ***[Makefile:26727: stage1-bubble] Error 2
make[1]: Leaving directory /mnt/lfs/build/gcc-9.2.0/build
make: *** [Makefile:1000: all] Error 2
root:/mnt/lfs/build/gcc-9.2.0/build#
findコマンドを実行して、/usr/ -name crt*
ここで欠落しているファイルを見つけました。
/usr/lib64/crti.o
しかし、明らかにシステムはそれを見つけることができませんでした。 64ビットディレクトリにあります。 32ビットlibをインストールする必要がありますか?それとも最初のエラーメッセージにはこれが必要ですが、makeを実行するときに2番目の部分には必要ありませんか?この問題をどのように解決しますか?