国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  解決:centos7 中node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)

解決:centos7 中node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)

2024-06-17 10:06:05 585

解決:centos7 中node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)

藍隊云小課堂:

1.查詢(xún)系統中g(shù)lib的版本

$ 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
是沒(méi)有錯誤提示中的 GLIBC_2.27

2.安裝gcc

要在 centos 7 上升級gcc (使用devtoolset-8-gcc安裝gcc8):
# 直接安裝 GCC-8 --注意 高版本不一定能編譯glic
yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
# 設置環(huán)境變量
echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile
source /etc/profile
# 安裝gcc
wget http://www.tjdsmy.cn/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
# 騰訊軟件源 http://www.tjdsmy.cn/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
tar -zxvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
# 下載依賴(lài)及配置文件
yum -y install bzip2 #已安裝可以跳過(guò)這一步
# 中標麒麟系統需要以下依賴(lài)
# yum -y install gmp mpfr mpc isl bzip2
./contrib/download_prerequisites
mkdir build && cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
# --prefix=/usr/local 配置安裝目錄
#–enable-languages表示你要讓你的gcc支持那些語(yǔ)言,
#–disable-multilib不生成編譯為其他平臺可執行代碼的交叉編譯器。
#–disable-checking生成的編譯器在編譯過(guò)程中不做額外檢查,
#也可以使用*–enable-checking=xxx*來(lái)增加一些檢查
# 編譯
make
#這一步需要時(shí)間非常久 可以使用 make -j 4 讓make最多運行四個(gè)編譯命令同時(shí)運行,加快編譯速度(建議不要超過(guò)CPU核心數量的2倍)
#安裝
make install
#驗證gcc版本
gcc -v
驗證:gcc -v;或者g++ -v,如果顯示的gcc版本仍是以前的版本,就需要重啟系統;
或者可以查看gcc的安裝位置:which gcc;
然后在查看版本 /usr/local/bin/gcc -v
確定以及配置成功后可以將原先的版本刪除

3.升級make

wget --no-check-certificate http://www.tjdsmy.cn/gnu/make/make-4.3.tar.gz
tar
-xzvf make-4.3.tar.gz
cd make-4.3/
# 安裝到指定目錄
./configure  
--prefix=/usr/local/make
make
make install
# 創(chuàng )建軟鏈接
cd /usr/bin/
mv make make.bak # backup
ln -sv /usr/local/make/bin/make /usr/bin/make

4.安裝GLIBC_2.28

# 下載并解壓 glibc-2.28

wget --no-check-certificate http://www.tjdsmy.cn/gnu/glibc/glibc-2.28.tar.gz
tar -xzvf glibc-2.28.tar.gz
cd glibc-2.28

#
創(chuàng )建臨時(shí)文件

mkdir build && cd build

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

#
再次查詢(xún)

strings /lib64/libc.so.6 | grep GLIBC
...
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE
...
在glibc make install 時(shí)提示:


make[1]: *** [Makefile:111: install] Error 1
make[1]: Leaving directory '/data/src/glibc-2.28'
make: *** [Makefile:12: install] Error 2


但又說(shuō)有兩個(gè)錯誤也沒(méi)有關(guān)系,到此GLIBC已經(jīng)成功更新。

截止目前還有以下問(wèn)題沒(méi)有解決。

node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

出現/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found的問(wèn)題,是因為生成的動(dòng)態(tài)庫沒(méi)有替換老版本gcc的動(dòng)態(tài)庫導致的。將gcc最新版本的動(dòng)態(tài)庫替換系統中老版本的動(dòng)態(tài)庫即可解決。

1
、運行以下命令檢查動(dòng)態(tài)庫
strings /usr/lib64/libstdc++.so.6 | grep GLIBC #下圖區別新舊版本

2
、查找編譯gcc時(shí)生成的最新動(dòng)態(tài)庫
find / -name "libstdc++.so*"

3
、挑選最新的動(dòng)態(tài)庫
/home/lcc/gcc-12.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.30 #最新動(dòng)態(tài)庫
注意是選擇 stage1-x86_64-pc-linux-gnu 目錄下的


4
、將上面的最新動(dòng)態(tài)庫 libstdc++.so.6.0.30 復制到/usr/lib64目錄下:
cp /home/lcc/gcc-12.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.30 /usr/lib64

5
、到/usr/lib64中刪除原來(lái)的軟鏈接:libstdc++.so.6 -> libstdc++.so.6.0.19,改成libstdc++.so.6 -> libstdc++.so.6.0.30

具體操作:
mv   libstdc++.so.6 libstdc++.so.6.bak #刪除
ln -s libstdc++.so.6.0.30 libstdc++.so.6 #鏈接
strings /usr/lib64/libstdc++.so.6 | grep GLIBC #重新運行查看動(dòng)態(tài)庫

更多小知識,可聯(lián)系藍隊云一起探討。


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->