> Linux故障 >

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

提示"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引起的:
[cpp] view plaincopy  

  • [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支持的版本:
[cpp] view plaincopy  

  • [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  
[cpp] view plaincopy  

  • [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/
[cpp] view plaincopy  

  • [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进入构建目录
[cpp] view plaincopy  

  • [ghui@StuOS glibc-2.14]$ mkdir build  
[cpp] view plaincopy  

  • [ghui@StuOS glibc-2.14]$ cd build  
  
    d.运行configure配置,make && sudo  make install
[cpp] view plaincopy  

  • [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.临时修改环境变量
[cpp] view plaincopy  

  • [ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH  
[cpp] view plaincopy  

  • [ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/  
  
[cpp] view plaincopy  

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

  • ...  
  
  此时运行正常,问题解决。 (责任编辑:IT)