Linux笔记(1)——Linux超算平台升级gcc(非root)
问题描述
在学校超算上对个人账户内的gcc进行版本升级,即无root权限升级gcc。
步骤
1 下载并解压gcc及其依赖包
我在 阿里云镜像 下载的6.5.0版本的,可以直接wget。
wget https://mirrors.aliyun.com/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.gz
tar -zxvf gcc-6.5.0.tar.gz
cd gcc-6.5.0
./contrib/download_prerequisites #下载并解压依赖包
2 编译刚下载的gcc
注意:configure配置的那一步,–prefix一定要写本地要安装gcc的地址,如果写了超算系统上的,后面安装时候可能会报错权限不够。
mkdir build
mkdir install #gcc的安装目录,<install_path>
cd build
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/home/hiradon/gcc-6.5.0/install --enable-threads=posix
make -j16 #编译,按需选择线程数
make install #安装
3 写入path
安装完成,但此时使用的还是旧版本的gcc,需要修改本地用户的bashrc文件。
vim ~/.bashrc
# GCC
export PATH="/home/hiradon/gcc-6.5.0/install/gcc-6.5.0/bin:$PATH"
export LD_LIBRARY_PATH="/home/hiradon/gcc-6.5.0/install/gcc-6.5.0/lib64:$LD_LIBRARY_PATH"
# 保存
source ~/.bashrc #更新
gcc --version #查看是否已升级到对应版本
总结
照着大佬们的解决方法做始终行不通,问题就是文中说的configure配置时,prefix地址不要写到/usr/里面,导致后面make install的时候显示权限不足,要写本地已经新建好的文件夹地址。鉴于这个问题浪费了我半天时间,所以整理下来记录一下。