0.以下在系统CentOS 6.3 x86_64上操作
1.试图运行程序,提示”libc.so.6: version `GLIBC_2.14′ not found”,原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
[cpp]view plaincopy
- [ghui@StuOSbin]$pwd
- /var/VMdisks/cross/mingw32/bin
- [ghui@StuOSbin]$ls
- lreleaseQtCore4.dllQtNetwork4.dllQtSql4.dllQtXml4.dll
- mocQtDeclarative4.dllQtOpenGL4.dllQtSvg4.dllrcc
- phonon4.dllQtGui4.dllQtScript4.dllQtTest4.dlluic
- qmakeQtMultimedia4.dllQtScriptTools4.dllQtWebKit4.dll
- [ghui@StuOSbin]$./qmake
- ./qmake:/lib64/libc.so.6:version`GLIBC_2.14’notfound(requiredby./qmake)
2.查看系统glibc支持的版本:
copy
- [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
copy
- [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
3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:
a. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译
b.这里解压到/var/VMdisks/glibc-2.14/
copy
- [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
c.在glibc源码目录建立构建目录,并cd进入构建目录
copy
- [ghui@StuOSglibc-2.14]$mkdirbuild
copy
- [ghui@StuOSglibc-2.14]$cdbuild
d.运行configure配置,make && sudo make install
copy
- [ghui@StuOSbuild]$../configure–prefix=/opt/glibc-2.14
- [ghui@StuOSbuild]$make-j4
- [ghui@StuOSbuild]$sudomakeinstall
- [sudo]passwordforghui:
4.临时修改环境变量
copy
- [ghui@StuOSbin]$exportLD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
copy
- [ghui@StuOSglibc-2.14]$cd/var/VMdisks/cross/mingw32/bin/
copy
- [ghui@StuOSbin]$./qmake
- Usage:./qmake[mode][options][files]
- QMakehastwomodes,onemodeforgeneratingprojectfilesbasedon
- someheuristics,andtheotherforgeneratingmakefiles.Normallyyou
- shouldn’tneedtospecifyamode,asmakefilegenerationisthedefault
- modeforqmake,butyoumayusethistotestqmakeonanexistingproject
- …
此时运行正常,问题解决。
作者: dawei
【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。