解决libc.so.6: version `GLIBC_2.14' not found问题

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

  1. [ghui@StuOSbin]$pwd
  2. /var/VMdisks/cross/mingw32/bin
  3. [ghui@StuOSbin]$ls
  4. lreleaseQtCore4.dllQtNetwork4.dllQtsql4.dllQtXml4.dll
  5. mocQtDeclarative4.dllQtOpenGL4.dllQtSvg4.dllrcc
  6. phonon4.dllQtGui4.dllQtScript4.dllQtTest4.dlluic
  7. qmakeQtMultimedia4.dllQtScriptTools4.dllQtWebKit4.dll
  8. [ghui@StuOSbin]$./qmake
  9. ./qmake:/lib64/libc.so.6:version`GLIBC_2.14'notfound(requiredby./qmake)
<strong>[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)

</strong>

2.查看系统glibc支持的版本:
[ghui@StuOSbin]$strings/lib64/libc.so.6|grepGLIBC_
  • 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
  • <strong>[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</strong>
    [ghui@StuOSbin]$rpm-qa|grepglibc
  • 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
  • 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
  • <strong>[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
    </strong>

    3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

    a. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译

    b.这里解压到/var/VMdisks/glibc-2.14/

    [ghui@StuOSbin]$cd/var/VMdisks/glibc-2.14/
  • [ghui@StuOSglibc-2.14]$pwd
  • /var/VMdisks/glibc-2.14
  • [ghui@StuOSglibc-2.14]$ls
  • abilistconfig.h.inintlREADME.libm
  • abi-tagsconfig.logioresolv
  • aclocal.m4config.make.inlibc-abisresource
  • aoutconfigurelibidnrt
  • argpconfigure.inlibioRules
  • assertconformlICENSESscripts
  • autom4te.cacheCONFORMANCElocalesetjmp
  • bitscopYINGlocaledatashadow
  • BUGScopYING.LIBloginshlib-versions
  • buildcppflags-iterator.mkmachsignal
  • CANCEL-FCT-WAIVEcryptMakeconfigsocket
  • CANCEL-FILE-WAIVEcsuMakefilesoft-fp
  • catgetsctypeMakefile.instdio-common
  • ChangeLogdebugMakerulesstdlib
  • ChangeLog.1direntmallocstreams
  • ChangeLog.10dlfcnmanualstring
  • ChangeLog.11elfmathsunrpc
  • ChangeLog.12extra-lib.mkmiscsysdeps
  • ChangeLog.13extra-modules.mkNAMESPACEsysvipc
  • ChangeLog.14FAQNEWStermios
  • ChangeLog.15FAQ.innistest-skeleton.c
  • ChangeLog.16gmonNOTEStime
  • ChangeLog.17gnulibnptltimezone
  • ChangeLog.2grpnptl_dbtls.make.c
  • ChangeLog.3gshadownscdversion.h
  • ChangeLog.4hesiodnssversions.def
  • ChangeLog.5hurdo-iterator.mkwcsmbs
  • ChangeLog.6iconvpowctype
  • ChangeLog.7iconvdataposixWUR-REPORT
  • ChangeLog.8includePROJECTS
  • ChangeLog.9inetpwd
  • confinstallrEADME
  • <strong>[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
    
    </strong>

    c.在glibc源码目录建立构建目录,并cd进入构建目录
    [ghui@StuOSglibc-2.14]$mkdirbuild
    <strong>[ghui@StuOS glibc-2.14]$ mkdir build</strong>
    [ghui@StuOSglibc-2.14]$cdbuild
    <strong>[ghui@StuOS glibc-2.14]$ cd build
    </strong>

    d.运行configure配置,make && sudo make install
    [ghui@StuOSbuild]$../configure--prefix=/opt/glibc-2.14
  • [ghui@StuOSbuild]$make-j4
  • [ghui@StuOSbuild]$sudomakeinstall
  • [sudo]passwordforghui:
  • <strong>[ghui@StuOS build]$ ../configure --prefix=/opt/glibc-2.14
    [ghui@StuOS build]$ make -j4 
    [ghui@StuOS build]$ sudo make install
    [sudo] password for ghui: 
    
    </strong>

    4.临时修改环境变量
    [ghui@StuOSbin]$exportLD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
    <strong>[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
    </strong>
    [ghui@StuOSglibc-2.14]$cd/var/VMdisks/cross/mingw32/bin/
    <strong>[ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/
    </strong>

    [ghui@StuOSbin]$./qmake
  • Usage:./qmake[mode][options][files]
  • QMakehastwomodes,onemodeforgeneratingprojectfilesbasedon
  • someheuristics,andtheotherforgeneratingmakefiles.normallyyou
  • shouldn'tneedtospecifyamode,asmakefilegenerationisthedefault
  • modeforqmake,butyoumayusethistotestqmakeonanexistingproject
  • From:

    http://blog.csdn.net/cpplang/article/details/8462768

    相关文章

    Centos下搭建性能监控Spotlight
    CentOS 6.3下Strongswan搭建IPSec VPN
    在CentOS6.5上安装Skype与QQ
    阿里云基于centos6.5主机VPN配置
    CentOS 6.3下配置multipah
    CentOS安装、配置APR和tomcat-native