1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
- [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)
<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
From:
http://blog.csdn.net/cpplang/article/details/8462768