启动php 提示”libc.so.6: version
`GLIBC_2.14′ not
found”,
案由也许是glibc版本太低,php使用了较高的glibc版本引起的

 

0.以下在系统CentOS 6.3 x86_64上操作

1.准备运维程序,提醒”libc.so.6: version `GLIBC_2.14′ not
found”,原因是系统的glibc版本太低,软件编写翻译时采纳了较高版本的glibc引起的:

  1. [ghui@StuOS bin]$ pwd  
  2. /var/VMdisks/cross/mingw32/bin  
  3. [ghui@StuOS bin]$ ls  
  4. lrelease     QtCore4.dll         QtNetwork4.dll      QtSql4.dll     QtXml4.dll  
  5. moc          QtDeclarative4.dll  QtOpenGL4.dll       QtSvg4.dll     rcc  
  6. phonon4.dll  QtGui4.dll          QtScript4.dll       QtTest4.dll    uic  
  7. qmake        QtMultimedia4.dll   QtScriptTools4.dll  QtWebKit4.dll  
  8. [ghui@StuOS bin]$ ./qmake   
  9. ./qmake: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by ./qmake)  

    [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. [ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_  
  2. GLIBC_2.2.5  
  3. GLIBC_2.2.6  
  4. GLIBC_2.3  
  5. GLIBC_2.3.2  
  6. GLIBC_源码升级安装glibc和rpm升级glibc,系统的glibc版本太低。2.3.3  
  7. GLIBC_2.3.4  
  8. GLIBC_2.4  
  9. GLIBC_2.5  
  10. GLIBC_2.6  
  11. GLIBC_2.7  
  12. GLIBC_2.8  
  13. GLIBC_2.9  
  14. GLIBC_2.10  
  15. GLIBC_2.11  
  16. GLIBC_2.12  
  17. GLIBC_PRIVATE  

    [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

  18. [ghui@StuOS bin]$ rpm -qa |grep glibc  

  19. glibc-static-2.12-1.80.el6_3.6.x86_64  
  20. glibc-headers-2.12-1.80.el6_3.6.x86_64  
  21. glibc-common-2.12-1.80.el6_3.6.x86_64  
  22. glibc-devel-2.12-1.80.el6_3.6.x86_64  
  23. glibc-static-2.12-1.80.el6_3.6.i686  
  24. glibc-devel-2.12-1.80.el6_3.6.i686  
  25. glibc-2.12-1.80.el6_3.6.i686  
  26. glibc-2.12-1.80.el6_3.6.x86_64  

    [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/

  1. [ghui@StuOS bin]$ cd /var/VMdisks/glibc-2.14/  
  2. [ghui@StuOS glibc-2.14]$ pwd  
  3. /var/VMdisks/glibc-2.14  
  4. [ghui@StuOS glibc-2.14]$ ls  
  5. abilist            config.h.in           intl           README.libm  
  6. abi-tags           config.log            io             resolv  
  7. aclocal.m4         config.make.in        libc-abis      resource  
  8. aout               configure             libidn         rt  
  9. argp               configure.in          libio          Rules  
  10. assert             conform               LICENSES       scripts  
  11. autom4te.cache     CONFORMANCE           locale         setjmp  
  12. bits               COPYING               localedata     shadow  
  13. BUGS               COPYING.LIB           login          shlib-versions  
  14. build              cppflags-iterator.mk  mach           signal  
  15. CANCEL-FCT-WAIVE   crypt                 Makeconfig     socket  
  16. CANCEL-FILE-WAIVE  csu                   Makefile       soft-fp  
  17. catgets            ctype                 Makefile.in    stdio-common  
  18. ChangeLog          debug                 Makerules      stdlib  
  19. ChangeLog.1        dirent                malloc         streams  
  20. ChangeLog.10       dlfcn                 manual         string  
  21. ChangeLog.11       elf                   math           sunrpc  
  22. ChangeLog.12       extra-lib.mk          misc           sysdeps  
  23. ChangeLog.13       extra-modules.mk      NAMESPACE      sysvipc  
  24. ChangeLog.14       FAQ                   NEWS           termios  
  25. ChangeLog.15       FAQ.in                nis            test-skeleton.c  
  26. ChangeLog.16       gmon                  NOTES          time  
  27. ChangeLog.17       gnulib                nptl           timezone  
  28. ChangeLog.2        grp                   nptl_db        tls.make.c  
  29. ChangeLog.3        gshadow               nscd           version.h  
  30. ChangeLog.4        hesiod                nss            Versions.def  
  31. ChangeLog.5        hurd                  o-iterator.mk  wcsmbs  
  32. ChangeLog.6        iconv                 po             wctype  
  33. ChangeLog.7        iconvdata             posix          WUR-REPORT  
  34. ChangeLog.8        include               PROJECTS  
  35. ChangeLog.9        inet                  pwd  
  36. conf               INSTALL               README  

    [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. [ghui@StuOS glibc-2.14]$ mkdir build  

    [ghui@StuOS glibc-2.14]$ mkdir build

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

    [ghui@StuOS glibc-2.14]$ cd build

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

  1. [ghui@StuOS build]$ ../configure –prefix=/opt/glibc-2.14  
  2. [ghui@StuOS build]$ make -j4   
  3. [ghui@StuOS build]$ sudo make install  
  4. [sudo] password for ghui:   

    [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. [ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH  

    [ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

  2. [ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/  

    [ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/

 

5. 在 ~/.bashrc 或者 ~/.bash_profile 中参与 export
语句,前者在每趟登陆和每一回打开 shell
都读取三遍,后者只在登陆时读取一回。笔者的习惯是加到 ~/.bashrc 中,在该文件的未尾,可利用如下语句来使设置生效:

 LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
 LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
 export LD_LIBRARY_PATH

修改完后,记得关掉当前极端同等对待复打开四个新的极端,从而使地点的布署生效。

  1. [ghui@StuOS bin]$ ./qmake   
  2. Usage: ./qmake [mode] [options] [files]  
  3.   
  4. QMake has two modes, one mode for generating project files based on  
  5. some heuristics, and the other for generating makefiles. Normally you  
  6. shouldn’t need to specify a mode, as makefile generation is the default  
  7. mode for qmake, but you may use this to test qmake on an existing project  

From:

 

编写翻译升级glibc, 易引起内核进不去,不可能自由升级:

  多少个相关库强制做软件链接

 

另外,centos7.0支持到glibc-2.17.

linux上装最新版本chrome, android studio都亟需至少安装glibc-2.15

 

 

编写翻译安装glibc多少个方案: 
1.下载glibc

wget  http://ftp.gnu.org/gnu/glibc/glibc-2.3.2.tar.gz

2.下载glibc-linuxthreads

wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz

3.解压

tar -zxvf glibc-2.3.2.tar.gz
cd glibc-2.3.2
tar -zxvf ../glibc-linuxthreads-2.3.2.tar.gz
cd ..
./glibc-2.3.2/configure --prefix=/usr --disable-profile --enable-add-ons --libexecdir=/usr/lib --with-headers=/usr/include
make
make install

注意点:
1、要将glibc-linuxthreads解压到glibc目录下。
二 、不能够在glibc当前目录下运营configure

源码升级安装glibc和rpm升级glibc

下载glibc
wget  

下载glibc-linuxthreads
wget

 

解压
tar -zxvf glibc-2.7.tar.gz
mkdir glibc-build
cd glibc-2.7
tar -zxvf ../glibc-linuxthreads-2.7.tar.gz
cd ..
export CFLAGS=”-g -O2 -march=i486″
cd glibc-build
../glibc-2.7/configure –prefix=/usr –disable-profile –enable-add-ons
–with-headers=/usr/include –with-binutils=/usr/bin
–disable-sanity-checks

#make
#make install

 

安装编写翻译进程中需求留意三点:
1、要将glibc-linuxthreads解压到glibc目录下。
二 、不可能在glibc当前目录下运作configure。
三 、加上优化开关,export CFLAGS=”-g -O2 -march=i486″,不然会油然则生谬误
‘#error “glibc cannot be compiled without optimization”‘

 
###################################################################################################################################################
#########################    rpm
升级glibc2.7    ###########################################################################################
###################################################################################################################################################

因企业同盟研究开发的玩耍项目 茂名扑克 需求,

Linux要求升级 glibc库要2.7上述,所以就尝试了下提高glibc。

鉴于找不到CentOS5的 glibc2.7
,就在网上找到了fedora的rpm包来代表,试过临时是没发现什么样难点。以下是手续。

那里下载相应的rpm包

鉴于我们当下linux都以六1拾位系统,所以自个儿下载五个x64文件:
glibc-common-2.7-2.x86_64.rpm
glibc-headers-2.7-2.x86_64.rpm
glibc-devel-2.7-2.x86_64.rpm
glibc-2.7-2.x86_64.rpm       

然后升级的一声令下为:
rpm -Uvh –aid –nodeps glibc-common-2.7-2.x86_64.rpm
rpm -Uvh –aid –nodeps glibc-headers-2.7-2.x86_64.rpm
rpm -Uvh –aid –nodeps glibc-devel-2.7-2.x86_64.rpm
rpm -Uvh –aid –nodeps glibc-2.7-2.x86_64.rpm

平素强制更新进步。

升高后接近glibc2.7机动生效了。

编写翻译2个程序测试下是或不是使用了陆拾贰人的动态库。

#vi hello.c

#include
int main(void)
{
              printf(“Hello World!\n”);
}

封存退出,然后实施
gcc -o test hello.c
chmod +x test
./test

运作成功!

执行
file test
翻开有看齐x64,表示使用 63个人的动态库。

网上有个别地点加优化开关 -O2  时(大写字母O),写的是 -02
(数字零),所以拷贝过来如故出现3中的错误,所以请留意。

设置完后,能够查阅ls -l /lib/libc.so.6已升格

lrwxrwxrwx 1 root root 11 Nov 12 09:24 /lib/libc.so.6 ->
libc-2.7.so

测试:
32位:
vim hello.c
 #include

 main()
 {
     printf(“hello world!\n”);
 }

封存退出,然后实施
gcc -o test hello.c
chmod +x test
./test

运行成功!

执行
file test

64位:
#vi hello.c

#include
int main(void)
{
              printf(“Hello World!\n”);
}

保留退出,然后实施
gcc -o test hello.c
chmod +x test
./test

运转成功!

执行
file test
查看有看到x64,表示使用 六10人的动态库。

Linux提示”libc.so.6: version `GLIBC_2.14′ not
found”系统的glibc版本太低

1,首先查看系统glibc的本子

0.之下在系统CentOS 6.3
x86_64上操作

$ 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 

1.试图运营程序,提醒”libc.so.6: version `GLIBC_2.14′ not
found”,原因是系统的glibc版本太低,软件编写翻译时接纳了较高版本的glibc引起的:

$ 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 

[linuxidc@linuxidc bin]$ pwd 
/var/VMdisks/cross/mingw32/bin 
[linuxidc@linuxidc 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 
[linuxidc@linuxidc bin]$ ./qmake 
./qmake: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by
./qmake) 
2.查看系统glibc支持的本子:

2,能够见到万丈的版本是会2.12,所以考虑编写翻译化解这些难题,下载所需求升高的本子

[linuxidc@linuxidc 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 

cd  /tools

[linuxidc@linuxidc 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 

wget    
(供给什么样版本都足以)

3.得以看出万丈只帮衬2.12版本,所以考虑编译化解这些题材:

rpm包下载路径:)

a.
到下载最新版本,小编那边下载了glibc-2.14.tar.xz
这几个本子,解压到任意目录准备编写翻译

3,解压

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

$ tar xf  glibc-ports-2.12.1.tar.bz2

[linuxidc@linuxidc bin]$ cd /var/VMdisks/glibc-2.14/ 
[linuxidc@linuxidc glibc-2.14]$ pwd 
/var/VMdisks/glibc-2.14 
[linuxidc@linuxidc 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 

$ mkdir build

c.在glibc源码目录建立营造目录,并cd进入构建目录

$ cd build
$ export CFLAGS=”-g -O2″

[linuxidc@linuxidc glibc-2.14]$ mkdir build

$./glibc-2.14/configure –prefix=/usr –disable-profile
–enable-add-ons –with-headers=/usr/include –with-binutils=/usr/bin

[linuxidc@linuxidc glibc-2.14]$ cd build 

 $make && make install

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

 

[linuxidc@linuxidc build]$ ../configure –prefix=/opt/glibc-2.14 
[linuxidc@linuxidc build]$ make -j4 
[linuxidc@linuxidc build]$ sudo make install 
[sudo] password for ghui: 

 安装编写翻译进度中供给小心两点:
       ① 、无法在glibc当前目录下运作configure。

4.权且改动环境变量

       ② 、加上优化开关,export CFLAGS=”-g -O2
-march=i486″,不然汇合世谬误

[linuxidc@linuxidc bin]$ export
LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH 

4,安装完后,能够查看ls -l /lib/libc.so.6已升级

[linuxidc@linuxidc glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/ 

 

[linuxidc@linuxidc 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 
… 

此时运营平常化,难题化解。

Linux升级Glibc 
http://www.linuxidc.com/Linux/2015-04/116472.htm

一发千钧!GHOST(幽灵)漏洞揭露 
http://www.linuxidc.com/Linux/2015-01/112496.htm

GNU glibc 爆 gethostbyname 缓冲区溢出纰漏 
http://www.linuxidc.com/Linux/2015-01/112486.htm

glibc gethostbyname缓冲区溢出纰漏(CVE-二〇一四-0235) 
http://www.linuxidc.com/Linux/2015-01/112516.htm

Linux glibc幽灵漏洞测试与修补方法
http://www.linuxidc.com/Linux/2015-01/112562tm

Glibc
的详细介绍
:请点这里
Glibc
的下载地址
:请点那里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139806.htm

澳门金沙国际 1

相关文章