前言

由于某些不为人知的原因,需要离线部署一套mediasoup的演示环境,基本上是从零开始,记录一下趟过的坑。

基础环境

CentOS Linux release 7.9-x86-64
mediasoupdemo(已经编译通过)

参考资料

链接: node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案

开始操作

1、安装node v16.20.2

node-v16.20.2-linux-x64.tar.xz

tar -xvf node-v16.20.2-linux-x64.tar.xz 
cp node-v16.20.2-linux-x64 tools/
cp -r node-v16.20.2-linux-x64 tools/
export NODEJS_HOME=/home/me/tools/node-v16.20.2-linux-x64
node -v

直接运行node server.js,提示缺包,通过yum install --downloadonly --downloaddir=/home/soft/all devtoolset-8-gcc下载所需的包,过程中陆陆续续下了一些,
最终如下:
autoconf-2.69-11.el7.noarch.rpm
devtoolset-8-binutils-2.30-55.el7.2.x86_64.rpm
devtoolset-8-gcc-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-gcc-c+±8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-gcc-gdb-plugin-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-gcc-gfortran-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-gcc-plugin-devel-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-libquadmath-devel-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-libstdc+±devel-8.3.1-3.2.el7.x86_64.rpm
devtoolset-8-runtime-8.1-1.el7.x86_64.rpm
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
perl-Text-Unidecode-0.04-20.el7.noarch.rpm
perl-libintl-1.20-12.el7.x86_64.rpm
python3-3.6.8-21.el7_9.x86_64.rpm
python3-libs-3.6.8-21.el7_9.x86_64.rpm
python3-pip-9.0.3-8.el7.noarch.rpm
python3-setuptools-39.2.0-10.el7.noarch.rpm
texinfo-5.1-5.el7.x86_64.rpm

链接:install_rpm.zip 提取码:si9d

2、安装软件

安装gcc、python3

cd install_rpm
rpm -Uvh *.rpm --nodeps --force

3、添加连接

ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

4、配置make4.3

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

5、配置glibc-2.28

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
make && make install

6、更新libstdc++.so.6.0.26

libstdc++.so.6.0.26

cp libstdc++.so.6.0.26 /usr/lib64/
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

7、启动项目

执行 ./start.sh

#!/bin/bash
node webserver.js & node server

注意事项

编译glibc-2.28的时候,gcc得是8,过程中先用11编的时候存在各种奇怪的问题