gcc编译失败

「已注销」 2020-06-25 07:24:15
用gcc 9.3编译gcc 10.1.0失败

系统是一个半成品gentoo

全部的log太长了,最后出错的这部分看起来致命的在下面这行(log 在最后面,只是出错的一部分)
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find crti.o: No such file or directory

已经尝试了一些办法,不过试的有点凌乱,没法一一写出来了,在网上也没找到合适的解决方案

可以确定我的gcc 9.3 有点问题,虽然支持编译32位程序,但缺少部分32位库文件,不过不知道怎么补(整个基础系统都是从包含编译好的二进制文件的压缩包里直接解压出来的,暂时不敢乱动)

由于要编译的这gcc 10.1.0设置了支持multilib,不知是否受到上述问题的影响

试了下用clang编译gcc,也是同样的错误,然而clang并没有上述问题,只是不知道clang能不能编译gcc简单直白地查了一下,没说不能,也没说能

这个问题提供的信息相当苍白无力,主要是其他的要么内容过长且极可能无用,要么和系统相关

在此提问只是希望大佬们提供一点可能的思路,非常感谢


/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -fno-checking -g -march=native -pipe -O2 -O2 -g -march=native -pipe -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fpic -mlong-double-80 -DUSE_ELF_SYMVER -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fno-stack-clash-protection -fpic -mlong-double-80 -DUSE_ELF_SYMVER -I. -I. -I../.././gcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/. -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/../gcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/../include -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -Wno-missing-prototypes -Wno-type-limits -o unordtf2.o -MT unordtf2.o -MD -MP -MF unordtf2.dep -c /var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/soft-fp/unordtf2.c -fvisibility=hidden -DHIDE_EXPORTS

/usr/x86_64-pc-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -fno-checking -g -march=native -pipe -O2 -O2 -g -march=native -pipe -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fpic -mlong-double-80 -DUSE_ELF_SYMVER -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fno-stack-clash-protection -fpic -mlong-double-80 -DUSE_ELF_SYMVER -I. -I. -I../.././gcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/. -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/../gcc -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/../include -I/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -Wno-missing-prototypes -Wno-type-limits -o fixtfsi.o -MT fixtfsi.o -MD -MP -MF fixtfsi.dep -c /var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/gcc-10.1.0/libgcc/soft-fp/fixtfsi.c -fvisibility=hidden -DHIDE_EXPORTS
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:994: libgcc_s.so] Error 1
make[5]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/x86_64-pc-linux-gnu/32/libgcc'
make[4]: *** [Makefile:1212: multi-do] Error 1
make[4]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/x86_64-pc-linux-gnu/libgcc'
make[3]: *** [Makefile:127: all-multi] Error 2
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build/x86_64-pc-linux-gnu/libgcc'
make[2]: *** [Makefile:18614: all-stage1-target-libgcc] Error 2
make[2]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build'
make[1]: *** [Makefile:23570: stage1-bubble] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build'
make[1]: *** [Makefile:23570: stage1-bubble] Error 2
make[1]: Leaving directory '/var/tmp/portage/sys-devel/gcc-10.1.0-r1/work/build'
make: *** [Makefile:23902: bootstrap-lean] Error 2
...全文
289 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2020-06-25
  • 打赏
  • 举报
回复
crti.o不存在于/usr/lib,但是在/usr/lib32以及/usr/lib64中均可找到,按说应当会在这三个目录下查找,但/usr/x86_64-pc-linux-gnu/bin/ld似乎有点问题 不过现在看来crti.o应该不是关键问题,我试着重装了一下,crti.o的位置依旧没有改变,但是可以成功编译 或许是其中一些步骤(极有可能是emerge --sync)引起的,但这看起来不太可能,毕竟只是同步数据库 又或者是因为clang与gcc并存,或是添加了USE=“clang”的缘故,关于这个没有查到相关信息 剩下的就只有一个看起来更不可能的add deepin-overlay了

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧