--prefix=/home/.../usr
我曾经使用传递给配置脚本的错误前缀 () 构建和安装 gcc 和 binutils 。
现在我用正确的前缀 ( ) 重新配置、重建和重新安装 gcc 和 binutils --prefix=/usr
,但是编译总是失败:
$ /bin/ld: cannot find /home/../usr/lib/libc.so.6
当然,我可以对库进行符号链接以使其正常工作,但我想知道这些路径保存在哪个文件中以及如何更改它们。
现在我用正确的前缀(--prefix=/usr)重新配置、重建和重新安装了 gcc 和 binutils,但是编译总是失败:
$ /bin/ld: 找不到 /home/../usr/lib/libc.so.6
你可能没有重新构建和重新安装libc,错误来自它。
在 Linux 上,libc.so
是一个链接描述文件,类似于:
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-gnu/libc_nonshared.a AS_NEEDED ( /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ) )
我敢打赌你libc.so
有/home/../usr/lib/libc.so.6
。