1

--prefix=/home/.../usr我曾经使用传递给配置脚本的错误前缀 () 构建和安装 gcc 和 binutils 。

现在我用正确的前缀 ( ) 重新配置、重建和重新安装 gcc 和 binutils --prefix=/usr,但是编译总是失败:

$ /bin/ld: cannot find /home/../usr/lib/libc.so.6

当然,我可以对库进行符号链接以使其正常工作,但我想知道这些路径保存在哪个文件中以及如何更改它们。

4

1 回答 1

0

现在我用正确的前缀(--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

于 2013-02-05T04:42:44.707 回答