文章目录
CentOS自带版本
PyToch库官网中要求的: Ensure that your gcc version is at least 4.9 (and below 6) ,而我的系统是CentOS6.8 64位的自带 gcc4.4.7,当然系统如果是 CentOS7, 那么 自带gcc4.8.5。
安装gcc 4的版本
CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的
- devtoolset-4表示gcc5.3
- devtoolset-6表示gcc6.2
- devtoolset-8表示gcc 8.3
安装前,首先要配置好yum 的Base 源,这个是前提, 然后执行下述步骤
1. 获取devtoolset-8的yum源
# 示例
# CentOS 6 devtoolset-4
wget --no-check-certificate -O /etc/yum.repos.d/devtoolset-4.repo https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap-epel-6.repo
# CentOS 6 devtoolset-8
wget --no-check-certificate -O /etc/yum.repos.d/devtoolset-8.repo https://copr.fedoraproject.org/coprs/mayeut/devtoolset-8/repo/epel-6/mayeut-devtoolset-8-epel-6.repo
# CentOS 7
# wget --no-check-certificate -O /etc/yum.repos.d/devtoolset-4.repo https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-7/hhorak-devtoolset-4-rebuild-bootstrap-epel-7.repo
2. 安装gcc
sudo yum install centos-release-scl -y
sudo yum install devtoolset-4-gcc devtoolset-4-gcc-c++
scl enable devtoolset-4 bash
gcc --version
3. 版本检查和切换版本
如果安装了多个版本,可以根据需要使用: source /opt/rh/devtoolset-4/enable进行切换或者使用 scl命令 启用,若要在启动的时候就生效,可以放置到~/.bashrc之中即可。
常见问题
安装过程中 的常见的问题
1. 找不到包audit*.rpm包
我安装的时候,因为是停止维护的CentOS 6.8,即使按照阿里云镜像的配置,一些包还是找不到,比如audit 这些包,可以在网上自行下载,然后 使用命令 rpm -ivh xxx.rpm 进行安装。 文章末尾,已经打包了这些rpm包,自行下载。
2. 找不到libcgroup-0.40.rc1-27.el6_10.x86_64.rpm 的包
在阿里云的镜像库中并没有找到,只能下载离线版本,然后命令安装: rpm -ivh libcgroup-0.40.rc1-27.el6_10.x86_64.rpm 。文章末尾,已经打包了这些rpm包,自行下载。
4. cc: fatal error: Killed signal terminated program cc1plus
内存溢出的问题,就是说你内存不够用,解决办法很简单:扩容
5. pybind11/pybind11.h: No such file or directory
安装完gcc后,GCC满足要求的情况下,继续安装 pytorch的 插件torch-cluster时报的错误,解决办法:
pip install pybind11
离线包下载
centos升级gcc时,一些yum下载404找不到的包,已经打包如下
离线包下载连接