Loading

非root权限升级(修改当前用户)Linux gcc版本

参考链接:

非root权限升级(修改当前用户)Linux gcc版本
没有root权限,Linux离线升级gcc

步骤记录

  1. 下载指定版本gcc(以5.50为例)以及对应版本的4个包
    不同的gcc版本对其他四个包的依赖版本不一样,所以需要先下载gcc 安装包,然后查看需要的依赖包的对应版本,再安装gcc
  • GCC下载地址:
    https://ftp.gnu.org/gnu/gcc/
  • 解压GCC压缩包(tar -zxvf gcc-5.5.0.tar.gz),查看目录下的./contrib/download_prerequisites文件:
    cat gcc-5.5.0/contrib/download_prerequisites
    如下图红色部分,查看四个版本包对应的版本,到蓝色框的地址进行下载(身份选访客)。

下载结果:

  1. 将4个包拷贝到gcc解压后的根目录下,并执行上上图中绿色的指令
cd gcc-5.5.0
tar xjf mpfr-2.4.2.tar.bz2
ln -sf mpfr-2.4.2 mpfr 
tar xjf gmp-4.3.2.tar.bz2
ln -sf gmp-4.3.2 gmp 
tar xzf mpc-0.8.1.tar.gz
ln -sf mpc-0.8.1 mpc
tar xjf isl-0.14.tar.bz2
ln -sf isl-0.14 isl 
  1. 编译gcc(用系统的gcc去编译新的gcc),安装
    在gcc解压缩根目录下新建一个文件夹,然后进入在里面配置编译安装
  • 注意!要把下面的path/to/install改成要安装GCC的目录
mkdir objdir
cd objdir
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/path/to/install/gcc-5.4 --enable-threads=posix
make -j64    # 多线程编译,否则很慢很慢很慢,能多开就多开几个线程【如果这一步报错,见下面解决】
make install
  1. 为当前用户配置系统环境变量
    打开~/.bashrc文件:
vim ~/.bashrc

在末尾加入:

export PATH=/path/to/install/gcc-5.5/bin:/path/to/install/gcc-5.5/lib64:$PATH
export LD_LIBRARY_PATH=/path/to/install/gcc-5.5/lib/:$LD_LIBRARY_PATH

更新一下:执行

source ~/.bashrc

完成!

报错记录和解决

  1. 在执行make -j64的时候报错:*** LIBRARY_PATH shouldn‘t contain the current directory when *** building gcc.
    解决办法,执行:
export LIBRARY_PATH=$(echo $LIBRARY_PATH | sed 's/:$//; s/^://;')
export C_INCLUDE_PATH=$(echo $C_INCLUDE_PATH | sed 's/:$//; s/^://;')

再重新执行make -j64

posted @ 2022-10-08 15:31  摇头晃脑学知识  阅读(393)  评论(0编辑  收藏  举报