【转发】解决"libc.so.6: version `GLIBC_2.14' not found"问题

编译了一个Linux程序,在RedHat上运行时提示"libc.so.6: version `GLIBC_2.14' not found",网上搜到这个问题的解决办法,原文http://www.myexception.cn/linux-unix/1622052.html:


【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引起的:

1
2
3
4
5
6
7
8
9
[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支持的版本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[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. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz 这个版本,解压到任意目录准备编译

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[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进入构建目录

1
2
[ghui@StuOS glibc-2.14]$ mkdir build 
[ghui@StuOS glibc-2.14]$ cd build

      d.运行configure配置,make && sudo  make install

1
2
3
4
[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.临时修改环境变量

1
2
3
4
5
6
7
8
9
10
11
[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 
...

此时运行正常,问题解决。

转载于:https://www.cnblogs.com/lxwy/p/4420643.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值