非root权限修改当前用户linux gcc版本
1.下载对应的gcc安装包以及依赖项
gcc安装包下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/
依赖项下载地址:ftp://gcc.gnu.org/pub/gcc/infrastructure
将gcc安装包上传至服务器后,进行解压,我安装的为gcc-5.5.0(太新的版本不兼容,自己提前查好版本适配问题)
tar zxvf gcc-5.5.0.tar.gz
cd gcc-5.5.0
cat contrib/download_prequisites
建议直接从依赖项下载网址直接下载对应版本即可:mprf,gmp,mpc,isl,我下载包如下
将上述依赖项依次上传到服务器gcc-5.5.0文件夹,并执行依赖项解压和软连接操作,以gmp为例子:
tar xjf gmp-4.3.2.tar.bz2
ln -sf gmp-4.3.2 gmp
上述操作完成之后,gcc-5.5.0文件夹截图如下:
2. 编译、安装
这个步骤比较容易出错,耐心一点
- tempdir为使用当前版本的gcc去编译新版本的gcc所使用的路径,建议直接新建在主目录下,避免出错;prefix所示的地址为gcc安装路径,用户可自定义
- configure文件会涉及rm指令,需要相关权限,否则会提示makefile出错问题
- 如果
make -j4
出错,可以试试直接使用make
,运行时间会增加很久
mkdir tempdir
cd tempdir
bash../gcc-5.5.0/configure --enable-languages=c,c++ --disable-multilib --prefix=/path/to/install/gcc --enable-threads=posix --disable-checking
make -j4
make install
3.当前用户环境变量配置
使用vim模式配置当前用户环境变量,直接添加在末尾即可
vim ~/.bashrc
export PATH=/path/to/install/gcc/bin:/path/to/install/gcc/lib64:$PATH
export LD_LIBRARY_PATH=/path/to/install/gcc/lib/:$LD_LIBRARY_PATH
source ~/.bashrc
4. 版本问题
gcc-5.4.0以及6.3.0容易出现某些变量或者未定义,可以参考:
https://blog.csdn.net/futangxiang4793/article/details/88660550
5. 结果验证
gcc --version
gcc -V
结果截图如下:
本文参考下述博客:https://blog.csdn.net/OliverkingLi/article/details/89645710