Error(25) 解决node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)

问题

tips: 建议不要轻易改这个,感觉有坑… 一般正常服务器也不会出现这个问题,我这里是由于局域网的虚拟机出现此问题;建议操作前存个快照。

在这里插入图片描述

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' 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.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
# 查看系统内安装的glibc版本
strings /lib64/libc.so.6 |grep GLIBC_

解决

cd /root
# 编译安装
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz 
cd glibc-2.28/ && mkdir build  && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin


# tips: 如果没报错可不用处理这里的步骤...
# ***********************************************************************
# 这一步提示如下错误
# configure: error: 
# *** These critical programs are missing or too old: compiler
# *** Check the INSTALL file for required versions.

# 解决:  升级gcc与make
# 1. 安装GCC-8
yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
# 设置环境变量
echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile
source /etc/profile

# 2. 升级 make
wget https://ftp.gnu.org/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
# 创建软链接
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make

# 继续编译 glibc   -- 进入刚才安装`glibc-2.28/build`的目录
cd /root/glibc-2.28/build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# ***********************************************************************


make && make install
# 日志最后会出现如下问题
# primary library!
# make[1]: *** [Makefile:111: install] Error 1
# make[1]: Leaving directory '/root/glibc-2.28'
# make: *** [Makefile:12: install] Error 2

# 再次查看系统内安装的glibc版本
strings /lib64/libc.so.6 |grep GLIBC_

# 测试
node -v
npm -v

# 然后会报错如下:
# [root@master build]# node -v
# node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
# node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
# node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

# 解决
yum install libstdc++.so.6 -y
# 查看动态链接库 -- 发现并没有需要的1.3.9
strings /usr/lib/libstdc++.so.6 | grep 'CXXABI'
# 下载需要的版本库,之后软连接到运行系统上
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
ar -x libstdc++6_8.3.0-6_amd64.deb
tar -xvf data.tar.xz
cp usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
find / -name "libstdc++*"
# 删除低版本库的软连接
rm -rf /usr/lib64/libstdc++.so.6
ll /usr/lib64/libstd*
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

# 检验
node -v
npm -v

在这里插入图片描述

解决中文乱码问题

在这里插入图片描述

# 解决中文乱码问题
cd /root/glibc-2.28/build && make localedata/install-locales

在这里插入图片描述


今日分享语句:
心若向阳,做什么都会是美好的。

  • 76
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
报错信息 "node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)" 表明在使用NodeJS18时,系统中缺少了GLIBC 2.27版本所需的库文件。 解决这个问题的方法是升级系统的GLIBC和GCC版本。首先,你需要确保你的系统是CentOS 7.9版本。然后,按照以下步骤来进行升级: 1. 检查GCC版本:执行命令 `gcc --version`,确认GCC版本是否为8.x.x。如果不是,则需要升级GCC。可以使用以下命令来安装最新版本的GCC: ``` sudo yum install centos-release-scl sudo yum install devtoolset-8-toolchain scl enable devtoolset-8 bash ``` 2. 检查GLIBC版本:执行命令 `ldd --version`,确认GLIBC版本是否为2.28或更高版本。如果不是,则需要升级GLIBC。可以使用以下命令来安装最新版本的GLIBC: ``` sudo yum install glibc-devel ``` 3. 更新系统:执行以下命令更新系统并安装所有可用的更新: ``` sudo yum update ``` 4. 验证升级结果:执行命令 `node -v` 来验证是否还有报错。如果没有报错,说明升级成功。 通过以上步骤,你应该能够解决 "node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)" 的报错问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [编译器gcc/glibc升级】CentOS7.9使用NodeJS18时报错/lib64/libm.so.6: version `GLIBC_2.27‘ not found](https://blog.csdn.net/lc1025082182/article/details/129554635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值