錯誤
fd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by fd)
產生原因
由於Linux系統的glibc版本太低,而軟件編譯時使用了較高版本的glibc引起的!
查看當前版本命令
# 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_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE
GLIBC_2.8
GLIBC_2.5
GLIBC_2.9
GLIBC_2.7
GLIBC_2.6
GLIBC_2.11
GLIBC_2.16
GLIBC_2.10
GLIBC_2.17
GLIBC_2.13
GLIBC_2.2.6
glibc是gnu發布的libc庫,即c運行庫,glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。
很多linux的基本命令,比如cp, rm, ll, ln等,都得依賴於它,如果操作錯誤或者升級失敗會導致系統命令不能使用,嚴重的造成系統退出后無法重新進入,所以操作時候需要慎重。
升級
1、下載文件
下載地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.18.tar.gz
2、安裝部署
解壓
tar -zxvf glibc-2.18.tar.gz
創建編譯目錄
cd glibc-2.18
mkdir build
編譯、安裝
cd build/
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j 8
make install
升級后可以通過strings /lib64/libc.so.6 | grep ^GLIBC
驗證是否有指定版本。