Linux 编译安装libc.so.6时出现Segmentation fault (core dumped)错误导致ls等命令不能用怎么办?

在学校集群上装tensorflow,import tensorflow时出现ImportError: /lib64/libc.so.6: version `GLIBC_2.16' not found,网上查资料按以下步骤进行操作:

(1)下载glibc-2.16.0.tar.bz并解压为 ~/Download/glibc-2.16.0

(2)cd ~/Download/glibc-2.16.0/

 mkdir build

 cd build

 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

 make

(3) make install时出现错误:

......

......

图片说明

图片说明

如图所示:

(1)make install 时出现错误:make[1]: *** [install] Segmentation fault (core dumped)

(2)ls等命令无法使用,显示缺少version `GLIBC_2.14'

(3)尝试gdb调试,结果显示与(2)中一样的问题

另外,系统本来的libc.so.6链接到libc-2.12.so,最高到GLIBC_2.12,由此看来libc-2.16好像已经安装了一部分。

求各路大神帮帮小弟!!!在线等,挺急的!!!不管是把glibc-2.16安装好还是回退到原来的版本都可以,目的只有一个,那就是让ls,cp,gdb等命令能正常使用。

集群linux版本(red hat)太低了,用起来太麻烦,把系统修复好之后我就不折腾了。

3个回答

你这个问题确实有点麻烦大了,原因主要是因为你系统里的一些使用到c库的所有程序都肯定是用旧版编译的,而你在安装新版C库时却在安装时出了错(或者库是安装成功了,但不兼容),导致安装没成功,却把旧版的库给替换了(也可能是没有替换只是链接给改了),这就进入了死循环了,你所有命令几乎都执行不了,包括make都不行,所以现在的解决办法只能是进到不依赖你现有系统中C库的命令行中去把C库的链接(或文件)还原成你原来的备份版,这只能使用拯救光盘方式才能实现了,如果你没有光盘,就在开机时直接进入到恢复模式进到命令行,看那些关键命令是否可用,如果可用就直接解决了,不行的话,只能用光盘了。

yzp2710242656
yzp2710242656 谢谢啊,我试试!
一年多之前 回复
yzp2710242656
yzp2710242656 谢谢您的回答!
一年多之前 回复

因为安装时的依赖包特别多,所以建议使用yum命令安装。需要联网。yum在使用的时候,redhat官方的yum源是需要注册收费的。所以建议先切换yum源,比如切换成国内的阿里云yum源。我的博客中有切换方法。或你可以自己到网上查,切换好后再使用yum安装,自动下载依赖包,自动安装。百试不爽、

yzp2710242656
yzp2710242656 谢谢您的回答!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐