当前位置: 首页 > news >正文

解决 /lib/libc.so.6: version `GLIBC_2.11′ not found



由于其他软件需要更高级的glibc 所以升级如下:

首先用centos的yum升级glibc库

  • yum update glibc

但问题依旧。用命令查看glibc库的信息

  • rpm -qi glibc

显示系统的glibc库版本为2.5

在CentOS中用更新命令到2.5已经是最新版本了(yum不能更新到指定版本),只好手动下载 glibc 2.11的源码包编译安装更新:

地址:http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz


  • cd /usr/src 

  • mkdir glibc-2.11-build 

  • wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz 

  • tar zxvf glibc-2.11.tar.gz 

  • cd /usr/src/glibc-2.11-build/ 

  • export CFLAGS="-g -O2 -march=i686"

  • /usr/src/glibc-2.11/configure --prefix=/usr/src/glibc-2.11-build/ --with-headers=/usr/include

  • make 

  • make install

注意:

1.   在目录usr/src/glibc-2.11执行configure命令时不能执行,需在外部文件夹glibc-2.11-build 执行,

      即不能在glibc当前目录下运行configure。

2.   加上优化开关,export CFLAGS="-g -O2 -march=i686",否则会出现错误,此处的i686请参照自己的机器(执行# arch

,可参考此文:http://lpy999.blog.163.com/blog/static/117372061201352841747588/)

3.  要将glibc-linuxthreads解压到glibc目录下。

     下载glibc-linuxthreads:

      wget  http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz

4.    当有如下错误时:

 /home/qt/glibc_build/libc_pic.os: In function `fallocate':

/home/qt/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate.c:31: undefined reference to `__call_fallocate'

/home/qt/glibc_build/libc_pic.os: In function `fallocate64':

/home/qt/glibc-2.11/io/../sysdeps/unix/sysv/linux/i386/fallocate64.c:31: undefined reference to `__call_fallocate'

/usr/bin/ld: /home/qt/glibc_build/libc.so: hidden symbol `__call_fallocate' isn't defined

/usr/bin/ld: final link failed: Nonrepresentable section on output

collect2: ld 返回 1

make[1]: *** [/home/qt/glibc_build/libc.so] 错误 1

make[1]: Leaving directory `/home/qt/glibc-2.11'

make: *** [all] 错误 2


解决办法:

      在/home/qt/glibc-2.11/sysdeps/unix/sysv/linux/i386/fallocate.c中,

extern int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) attribute_hidden;

将上述代码修改为(或注释),

int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) { return 0; }

说明:外部函数__call_fallocate没有定义,这里定义为一个本地空函数。

相关文章:

  • configure: error: C++ preprocessor /lib/cpp fails sanity check
  • Glibc-2.4.tar.gz的安装问题一个一个解决
  • 编译安装glibc
  • Ubuntu 更新glibc
  • VMware Linux 共享文件夹 虚拟机无共享文件解决方法
  • 编译出错:X11/extensions/XTest.h:没有那个文件或目录
  • apache-tomcat-7 设置最大上传.war文件大小
  • 关于异常“The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine”的处理
  • 让IIS 7显示ASP的详细错误信息-无论什么样的代码错误,只显示“500 - 内部服务器错误解决
  • jquery 判断一个对象是否存在
  • JQuery如何判断标签指定属性是否存在
  • Android项目工程目录详解
  • 实现HTML页面在手机浏览器上全屏的方式
  • 判断手机号码格式的正则表达式
  • Linux下Tomcat控制台输出及日志中文乱码问题的解决
  • 收藏网友的 源程序下载网
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 5、React组件事件详解
  • ECMAScript入门(七)--Module语法
  • iOS 颜色设置看我就够了
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • js 实现textarea输入字数提示
  • rc-form之最单纯情况
  • TypeScript迭代器
  • vue学习系列(二)vue-cli
  • vue总结
  • yii2中session跨域名的问题
  • 动态规划入门(以爬楼梯为例)
  • 如何利用MongoDB打造TOP榜小程序
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 使用 @font-face
  • 我的业余项目总结
  • 在weex里面使用chart图表
  • 走向全栈之MongoDB的使用
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​卜东波研究员:高观点下的少儿计算思维
  • $GOPATH/go.mod exists but should not goland
  • (39)STM32——FLASH闪存
  • (42)STM32——LCD显示屏实验笔记
  • (5)STL算法之复制
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Python) SOAP Web Service (HTTP POST)
  • (分享)自己整理的一些简单awk实用语句
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)LINQ之路
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .cfg\.dat\.mak(持续补充)
  • .equals()到底是什么意思?
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .net core使用RPC方式进行高效的HTTP服务访问