在之前调节工具链的那节。也有个类似的测试,我记得当时测试是何手册一样的。
重新阅读调整工具链那节:
http://www.linuxfromscratch.org/lfs/view/7.3/chapter06/adjusting.html
编译安装好 gcc 后,找不到在 调整工具链那节生成的 specs 文件:
复制内容到剪贴板代码:
# `dirname $(gcc --print-libgcc-file-name)`/specs
bash: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/specs: No such file or directory
我重新根据 [调整工具链] 这节,重新生成 gcc 的 specs 文件
复制内容到剪贴板代码:
gcc -dumpspecs | sed -e 's@/tools@@g' \
-e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
-e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
`dirname $(gcc --print-libgcc-file-name)`/specs
重新编译测试之后,ld 的路径是对的:
复制内容到剪贴板代码:
root:/sources/gcc-build# cc dummy.c -v -Wl,--verbose &> dummy.log
root:/sources/gcc-build# readelf -l a.out | grep ': /lib'
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
1. 不知道为什么 gcc 的 specs 文件会弄丢了
2. 我确认在 adjusting 工具链那节,是存在的,并且测试也是 OK 的
3. 如果重新创建 gcc 的 specs 文件,对之前和之后是否要重新编译一遍?
我不知道这个错误的后果是什么?是 glibc / gcc 还是其他的程序需要重新再编译安装一遍?