Linux提示“libc.so.6: version `GLIBC_2.14' not found”系统的glibc版本太低

Linux提示"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低

0.以下在系统CentOS 6.3 x86_64上操作

1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[linuxidc@linuxidc bin]$ pwd  
/var/VMdisks/cross/mingw32/bin  
[linuxidc@linuxidc 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  
[linuxidc@linuxidc bin]$ ./qmake  
./qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qmake)  
2.查看系统glibc支持的版本:


[linuxidc@linuxidc 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 

[linuxidc@linuxidc 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/

[linuxidc@linuxidc bin]$ cd /var/VMdisks/glibc-2.14/  
[linuxidc@linuxidc glibc-2.14]$ pwd  
/var/VMdisks/glibc-2.14  
[linuxidc@linuxidc 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进入构建目录

[linuxidc@linuxidc glibc-2.14]$ mkdir build

[linuxidc@linuxidc glibc-2.14]$ cd build 

d.运行configure配置,make && sudo  make install

[linuxidc@linuxidc build]$ ../configure --prefix=/opt/glibc-2.14  
[linuxidc@linuxidc build]$ make -j4  
[linuxidc@linuxidc build]$ sudo make install  
[sudo] password for ghui: 


4.临时修改环境变量

[linuxidc@linuxidc bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 

[linuxidc@linuxidc glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/ 

[linuxidc@linuxidc 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  
... 

此时运行正常,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值