yzp2710242656 2019-01-05 20:08 采纳率: 100%
浏览 6789
已采纳

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)太低了,用起来太麻烦,把系统修复好之后我就不折腾了。

  • 写回答

4条回答

  • 软侠 2019-01-07 10:13
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?