-
【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. 到下载最新版本,我这里下载了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
-
...
此时运行正常,问题解决。
阅读(3059) | 评论(0) | 转发(0) |