libc.so.6: version GLIBC_2.14 not found

原文链接:http://www.myexception.cn/linux-unix/1622052.html

【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引起的:

[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]$ 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  

      c.在glibc源码目录建立构建目录,并cd进入构建目录

[ghui@StuOS glibc-2.14]$ mkdir 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:   

4.临时修改环境变量

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

...  

猜你喜欢

转载自gcc2ge.iteye.com/blog/2294594