在 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 时不需要第二部分?如何解决这个问题?