解决libc.so.6: version `GLIBC_2.14' not found问题, 升级glibc,glibc-2.15
0.以下在系统CentOS 6.3 x86_64上操作
1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
- [ghui@StuOS bin]$ pwd
- /var/VMdisks/cross/mingw32/bin
- [ghui@StuOS bin]$ ls
- lrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll
- moc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rcc
- phonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uic
- qmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll
- [ghui@StuOS bin]$ ./qmake
- ./qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qmake)
[ghui@StuOS bin]$ pwd /var/VMdisks/cross/mingw32/bin [ghui@StuOS bin]$ ls lrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll moc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rcc phonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uic qmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll [ghui@StuOS bin]$ ./qmake ./qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qmake)
2.查看系统glibc支持的版本:
- [ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_
- GLIBC_2.2.5
- GLIBC_2.2.6
- GLIBC_2.3
- GLIBC_2.3.2
- GLIBC_2.3.3
- GLIBC_2.3.4
- GLIBC_2.4
- GLIBC_2.5
- GLIBC_2.6
- GLIBC_2.7
- GLIBC_2.8
- GLIBC_2.9
- GLIBC_2.10
- GLIBC_2.11
- GLIBC_2.12
- GLIBC_PRIVATE
[ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_ GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_PRIVATE
- [ghui@StuOS bin]$ rpm -qa |grep glibc
- glibc-static-2.12-1.80.el6_3.6.x86_64
- glibc-headers-2.12-1.80.el6_3.6.x86_64
- glibc-common-2.12-1.80.el6_3.6.x86_64
- glibc-devel-2.12-1.80.el6_3.6.x86_64
- glibc-static-2.12-1.80.el6_3.6.i686
- glibc-devel-2.12-1.80.el6_3.6.i686
- glibc-2.12-1.80.el6_3.6.i686
- glibc-2.12-1.80.el6_3.6.x86_64
[ghui@StuOS bin]$ rpm -qa |grep glibc glibc-static-2.12-1.80.el6_3.6.x86_64 glibc-headers-2.12-1.80.el6_3.6.x86_64 glibc-common-2.12-1.80.el6_3.6.x86_64 glibc-devel-2.12-1.80.el6_3.6.x86_64 glibc-static-2.12-1.80.el6_3.6.i686 glibc-devel-2.12-1.80.el6_3.6.i686 glibc-2.12-1.80.el6_3.6.i686 glibc-2.12-1.80.el6_3.6.x86_64
3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:
a. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz 这个版本,解压到任意目录准备编译
b.这里解压到/var/VMdisks/glibc-2.14/
- [ghui@StuOS bin]$ cd /var/VMdisks/glibc-2.14/
- [ghui@StuOS glibc-2.14]$ pwd
- /var/VMdisks/glibc-2.14
- [ghui@StuOS glibc-2.14]$ ls
- abilist config.h.in intl README.libm
- abi-tags config.log io resolv
- aclocal.m4 config.make.in libc-abis resource
- aout configure libidn rt
- argp configure.in libio Rules
- assert conform LICENSES scripts
- autom4te.cache CONFORMANCE locale setjmp
- bits COPYING localedata shadow
- BUGS COPYING.LIB login shlib-versions
- build cppflags-iterator.mk mach signal
- CANCEL-FCT-WAIVE crypt Makeconfig socket
- CANCEL-FILE-WAIVE csu Makefile soft-fp
- catgets ctype Makefile.in stdio-common
- ChangeLog debug Makerules stdlib
- ChangeLog.1 dirent malloc streams
- ChangeLog.10 dlfcn manual string
- ChangeLog.11 elf math sunrpc
- ChangeLog.12 extra-lib.mk misc sysdeps
- ChangeLog.13 extra-modules.mk NAMESPACE sysvipc
- ChangeLog.14 FAQ NEWS termios
- ChangeLog.15 FAQ.in nis test-skeleton.c
- ChangeLog.16 gmon NOTES time
- ChangeLog.17 gnulib nptl timezone
- ChangeLog.2 grp nptl_db tls.make.c
- ChangeLog.3 gshadow nscd version.h
- ChangeLog.4 hesiod nss Versions.def
- ChangeLog.5 hurd o-iterator.mk wcsmbs
- ChangeLog.6 iconv po wctype
- ChangeLog.7 iconvdata posix WUR-REPORT
- ChangeLog.8 include PROJECTS
- ChangeLog.9 inet pwd
- conf INSTALL README
[ghui@StuOS bin]$ cd /var/VMdisks/glibc-2.14/ [ghui@StuOS glibc-2.14]$ pwd /var/VMdisks/glibc-2.14 [ghui@StuOS glibc-2.14]$ ls abilist config.h.in intl README.libm abi-tags config.log io resolv aclocal.m4 config.make.in libc-abis resource aout configure libidn rt argp configure.in libio Rules assert conform LICENSES scripts autom4te.cache CONFORMANCE locale setjmp bits COPYING localedata shadow BUGS COPYING.LIB login shlib-versions build cppflags-iterator.mk mach signal CANCEL-FCT-WAIVE crypt Makeconfig socket CANCEL-FILE-WAIVE csu Makefile soft-fp catgets ctype Makefile.in stdio-common ChangeLog debug Makerules stdlib ChangeLog.1 dirent malloc streams ChangeLog.10 dlfcn manual string ChangeLog.11 elf math sunrpc ChangeLog.12 extra-lib.mk misc sysdeps ChangeLog.13 extra-modules.mk NAMESPACE sysvipc ChangeLog.14 FAQ NEWS termios ChangeLog.15 FAQ.in nis test-skeleton.c ChangeLog.16 gmon NOTES time ChangeLog.17 gnulib nptl timezone ChangeLog.2 grp nptl_db tls.make.c ChangeLog.3 gshadow nscd version.h ChangeLog.4 hesiod nss Versions.def ChangeLog.5 hurd o-iterator.mk wcsmbs ChangeLog.6 iconv po wctype ChangeLog.7 iconvdata posix WUR-REPORT ChangeLog.8 include PROJECTS ChangeLog.9 inet pwd conf INSTALL README
c.在glibc源码目录建立构建目录,并cd进入构建目录
- [ghui@StuOS glibc-2.14]$ mkdir build
[ghui@StuOS glibc-2.14]$ mkdir build
- [ghui@StuOS glibc-2.14]$ cd build
[ghui@StuOS glibc-2.14]$ cd build
d.运行configure配置,make && sudo make install
- [ghui@StuOS build]$ ../configure --prefix=/opt/glibc-2.14
- [ghui@StuOS build]$ make -j4
- [ghui@StuOS build]$ sudo make install
- [sudo] password for ghui:
[ghui@StuOS build]$ ../configure --prefix=/opt/glibc-2.14 [ghui@StuOS build]$ make -j4 [ghui@StuOS build]$ sudo make install [sudo] password for ghui:
4.临时修改环境变量
- [ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
- [ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/
[ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/
LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
修改完后,记得关掉当前终端并重新打开一个新的终端,从而使上面的配置生效。
- [ghui@StuOS bin]$ ./qmake
- Usage: ./qmake [mode] [options] [files]
- QMake has two modes, one mode for generating project files based on
- some heuristics, and the other for generating makefiles. Normally you
- shouldn't need to specify a mode, as makefile generation is the default
- mode for qmake, but you may use this to test qmake on an existing project
From:
http://blog.csdn.net/cpplang/article/details/8462768
编译升级glibc, 易引起内核进不去,不能轻易升级:
http://www.linuxidc.com/Linux/2015-04/116472.htm
http://blog.csdn.net/officercat/article/details/39520227
http://blog.sina.com.cn/s/blog_53aab5c10101dfpm.html
http://zhaoyong.blog.51cto.com/61971/194327 几个相关库强制做软件链接
另外,centos7.0支持到glibc-2.17.
linux上装最新版本chrome, android studio都需要至少安装glibc-2.15
编译安装glibc几个方案:
1.下载glibc
wget http://ftp.gnu.org/gnu/glibc/glibc-2.3.2.tar.gz
2.下载glibc-linuxthreads
wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz
3.解压
tar -zxvf glibc-2.3.2.tar.gzcd glibc-2.3.2tar -zxvf ../glibc-linuxthreads-2.3.2.tar.gzcd .../glibc-2.3.2/configure --prefix=/usr --disable-profile --enable-add-ons --libexecdir=/usr/lib --with-headers=/usr/includemakemake install
注意点:
1、要将glibc-linuxthreads解压到glibc目录下。
2、不能在glibc当前目录下运行configure
解决libc.so.6: version `GLIBC_2.14' not found问题, 升级glibc,glibc-2.15的更多相关文章
- 解决libc.so.6: version `GLIBC_2.14' not found问题
今天centos新机器上运行项目的时候出现题目所示的错误,搜索后发现是底层glibc 版本太低导致. strings /lib64/libc.so.6 |grep GLIBC_ 使用上面的命令发现 g ...
- 解决libc.so.6: version `GLIBC_2.14' not found问题
1.命令检查系统glibc支持的版本: strings /lib64/libc.so.6 |grep GLIBC_ 如果没有2.14或者其他版本的,需要下载安装 2.下载地址:http://pan.b ...
- 解决"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低 {强行安装!!}
原创,转载请注明出处,谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 首先查看系统glibc支持的版本: strings /lib64/libc.so.6 |grep G ...
- CentOS "libc.so.6: version 'GLIBC_2.14' not found"解决方法,同理'GLIBC_2.15' not found"
出现"libc.so.6: version 'GLIBC_2.14' not found"问题,是由于glibc版本过低,升级glibc即可. 由于CentOS系统RPM源目前gl ...
- 关于centos6版本执行程序报错:libc.so.6: version GLIBC_2.14 not found的解决
执行后程序报错: libc.so.6: version GLIBC_2.14 not found 这种情况是因为当前服务器glibc的版本比较低造成的(不出意外是glibc_2.12是最高版本): 1 ...
- CentOS 安装redis2.8.13 提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低
以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的gli ...
- libc.so.6: version 'GLIBC_2.14' not found报错提示的解决方案
线上一台服务器在执行leveldb程序的时候,报错:"libc.so.6: version `GLIBC_2.14' not found". 排查原因及解决方法如下: 1)产生原因 ...
- 执行SDK的aapt报错./aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./aapt)
问题| 执行SDK下的aapt报错./aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./aapt) ../ ...
- 【linux】提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低
原文链接:http://www.myexception.cn/linux-unix/1622052.html [linux]提示"libc.so.6: version `GLIBC_2.14 ...
随机推荐
- 汇编语言学习系列 for循环实现
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位). #include<stdio.h> int fact_for(int n) { int i; ; ; i & ...
- Java学习之javassist
1.读取和输出字节码 ClassPool pool = ClassPool.getDefault(); //会从classpath中查询该类 CtClass cc = pool.get("t ...
- Viewing the Raw SQL Statement(xcode で)
Thanks to Core Data. Even without learning SQL and database, you’re able to perform create, select, ...
- 动态Script标签 解决跨域问题
动态Script 解决跨域问题 1.动态创建scriptcreateScript : function(src){ var varScript = document.createElement(&q ...
- English interview!
Q1:Why are you interested in working for our company?为什么有兴趣在我们公司工作?A1:Because your company has a goo ...
- 【Win7激活工具2013版下载】适用于旗舰版、家庭高级版等所有版本32/64位 OEM激活
虽然现在Win8已经发布了,但是身边总是还有一些朋友在用着Win7系统,而近期微软频繁的推送补丁包,导致之前的那些激活都失效了.找了网络上很多工具,之前的那些有的已经不能用了,激活不了,今天就推荐一些 ...
- 两个DIV,左DIV宽度固定,右DIV自动填满剩余空间
<style type="text/css"> #main{ width:98%; } #sidebar{ float:left; width:200px; backg ...
- c# 多显示器设置主屏幕(Set primary screen for multiple monitors)
原文 http://www.cnblogs.com/coolkiss/archive/2013/09/18/3328854.html 经过google加各种百度,终于找到了一个有效的解决方案,下面是两 ...
- 一个大小为N的数组,里面是N个整数,怎样去除重复的数
题目:一个大小为N的数组,里面是N个整数,怎样去除重复的数字: 要求时间复杂度为O(n),空间复杂度为O(1). 需要除掉重复的整数的数组,注意这里我没有处理负数情况,其实负数情况只要先用0快排分一下 ...
- date tod = boost::gregorian::day_clock::local_day(); //当前日期
boost 时间和日期 - 苦逼码农 - 博客频道 - CSDN.NET date tod = boost::gregorian::day_clock::local_day(); //当前日期