1

--prefix=/home/.../usr私はかつて、configureスクリプトに渡された間違ったプレフィックス()を使用してgccとbinutilsをビルドしてインストールしました。

ここで、gccとbinutilsを正しいプレフィックス(--prefix=/usr)で再構成、再構築、再インストールしましたが、コンパイルは常に次のように失敗します。

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

もちろん、ライブラリを機能させるためにシンボリックリンクすることもできますが、これらのパスがどのファイルに保存され、どのように変更できるかを知りたいです。

4

1 に答える 1

0

ここで、gcc と binutils を正しいプレフィックス (--prefix=/usr) で再構成、再構築、再インストールしましたが、コンパイルは常に次のように失敗します。

$ /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 に答える