你升级的方式是???
因为 man是需要调用安装好的各种文档的,rpm安装,是默认会添加到调用进去,
但如果你的升级方式,不是rpm 或者yum update的形式,就需要自己添加,或者,没调用成功,都自行检查或者设置。
下载对应版本的 gcc 源码,而编译源码首先需要本地拥有编译器
# 安装一些可能用到编译的工具
# 我的 centos 下默认的 gcc 版本是 4.8, 这也是我需要更新 gcc 的原因
yum install -y gcc
yum install -y gcc-c++
yum install -y wget
yum install -y cmake
...
第一步,做一些编译前的准备工作,我这里以 5.4.0 版本为例,
# 我习惯在 root 目录下编译
cd /root
# 下载 gcc 源码包
wget http:#mirrors.ustc.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
# 解压缩
tar xvf gcc-5.4.0.tar.bz2
# 切换工作目录
cd /root/gcc-5.4.0
第二步,下载编译 gcc 的依赖项, gcc 中编写了下载依赖项的工具
./contrib/download_prerequisites
这里如果没有报错最好,如果有报错大概率是登录 ftp
失败导致的下载失败,所以这里我的解决方案是修改一下这个下载工具,将 ftp
下载链接换成 http
的链接即可,只要修改地址的前缀
vi ./contrib/download_prerequisites
# 文件中含有的的 4 个 ftp 的地址,将 ftp 字段换成 http 保存
# 然后重新执行这个文件
第三步,设置编译输出路径,生成 Makefile 文件
mkdir build
cd build
../configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
第四步,编译和编译安装
make
# make -j4 多线程编译
make install
最后一步,调整环境变量
# 环境变量path
# 我设置的 /usr/local/bin 优先级本来就在 /usr/bin 前面,所以不用在额外导入了
# echo "export PATH=/usr/local/bin:$PATH" >> /etc/profile.d/gcc.sh
# source /etc/profile.d/gcc.sh
# 头文件
ln -sv /usr/local/include/ /usr/include/gcc
# 库文件
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/gcc.conf
还有一种方式修改环境变量
vi /etc/profile, 追加
export PATH=/usr/local/bin:$PATH
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
当然这些追加的地址根据实际执行 configure
时配置的路径自己修改
直接下载gcc源码进行编译并安装就行了,这是最方便的方式,而且你想安装哪个版本就安装哪个版本!