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

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条)

报告相同问题?

悬赏问题

  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作