机器操作系统 centos7.9

  • 安装nvidia驱动会检查编译内核使用的gcc 和当前系统的gcc是否匹配 所以需要升级gcc版本使其对应一致
[root@cluster-hfnh9zlpg2cr-worker-l97dg-b6wvb ~]# cat /proc/version 
Linux version 5.10.0-1.el7.jd_801.x86_64 (jenkins@node-167) (gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4), GNU ld version 2.30-108.el8_5.1) #1 SMP Tue Apr 26 17:04:21 CST 2022
#找有在线yum源的centos7.9机器 打包依赖的离线rpm包
yum --downloadonly     --downloaddir=gcc_rpm install   bzip2 gmp-devel mpfr-devel libmpc-devel  zlib-devel  bzip2 gcc gcc-c++ make git wget
tar zvcf gcc_rpm.tgz gcc_rpm
#上传到离线的gpu机器 解压
tar xvf gcc_rpm.tgz && cd gcc_rpm
yum -y localinstall *

 
#下载 gcc https://ftp.gnu.org/gnu/gcc/ 本次使用的gcc-8.5.0.tar.gz

上传解压 gcc-8.5.0.tar.gz
tar xvf gcc-8.5.0.tar.gz
cd gcc-8.5.0.tar.gz 
vim contrib/download_prerequisites
查看gmp mpfr mpc isl 对应的版本 以及base_url的地址 下载这几个包 上传
  curl -O ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
  curl -O  ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
  curl -O  ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
  curl -O  ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2

#将上面4个包放到 gcc-8.2.0根目录 执行 ./contrib/download_prerequisites  会检查离线包 并解压 做相关的软连接
cd gcc-8.2.0 && ./contrib/download_prerequisites 
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.4.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.18.tar.bz2: OK
All prerequisites downloaded successfully.

#进入gcc根目录创建build:
 mkdir build
cd build
#安装gcc:make根据不同机器情况而定,时间特别长,甚至可能一小时以上
sudo ../configure --enable-checking=release --enable-languages=c,c++ -disable-multilib
sudo make
sudo make install

参考文档: https://blog.csdn.net/qq_42119514/article/details/132603647