所以我愚蠢地安装了 newlib,并且可能覆盖了对 glibc 的引用。我该如何恢复 glibc?

所以我愚蠢地安装了 newlib,并且可能覆盖了对 glibc 的引用。我该如何恢复 glibc?

我忘记设置了make --prefix,我认为默认情况下它会写入 /usr/local/,现在我遇到了各种错误。我在 ubuntu natty 上,恢复 glibc 最简单的方法是什么。我尝试使用apt-getdkpg-reconfigurelibglibc2.0-dev 卸载/重新安装,但没有成功。我尝试从源代码下载 glibc,它给出错误“抱歉,未实现:调用‘syslog’时内联失败:函数体不可用”。显然,我必须重建 gcc 并向其传递内核头文件,并进行各种我最不理解的恶作剧。

如果可能的话,我真的不想重新安装所有东西,如果能提供任何帮助我将不胜感激。

编辑:看起来它在安装 /usr/local//lib/libm.a /usr/local//lib/libc.a 期间被覆盖了

$ ldd /bin/ls
linux-vdso.so.1 =>  (0x00007fff453ff000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fdcd202f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdcd1e27000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007fdcd1c1e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdcd188a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdcd1686000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdcd2271000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdcd1467000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007fdcd1262000)

根据本网站为了让它工作,我必须做一些修改,以免在编译时出现问题,但如果我能以某种方式消除我造成的混乱,那就太好了。我对其中很多工作原理缺乏基本的了解。

相关内容