这里演示非sudo权限的本地linux 用户安装 gcc9
下载源代码:
可以从GCC官方网站或其镜像站点下载GCC 9的源代码压缩包。使用wget或curl命令,这通常不需要额外权限
wget https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.gz
tar -xf gcc-9.5.0.tar.gz
cd gcc-9.5.0
获取前提条件(Prerequisites):
GCC源码中有一个脚本可以帮助你下载编译GCC所需的其他软件包。这个脚本应该可以在你的用户目录下运行,而不需要管理员权限:
./contrib/download_prerequisites
编译GCC
- 创建一个构建目录并配置编译选项:
创建一个新的目录用于编译,并从该目录中调用…/configure以避免污染源代码树。同时指定安装路径为你的家目录下的某个位置,这样就不需要管理员权限了。
这里几个参数需要解释一下, enable-languages顾名思义, program-suffix=-9.5.0 就是说最后编译出的程序名字后会有后缀, 如gcc-9.5.0, 建议加上后缀区分版本.
–prefix指定的是之后install对应的目录, 默认是/usr/local/bin, 但是这里不建议放在这里, 容易污染PATH, 所以建议自定义位置, 具有更高自由度和可控度, 有问题大不了删了呗. 对于个人用户而言, 其他参数基本上按照默认即可.
mkdir build
cd build
../configure --prefix=$HOME/local/gcc-9.5.0 --program-suffix=-9.5.0 --enable-languages=c,c++ --disable-multilib
- 开始编译:
运行make命令来编译GCC。这一步可能需要一些时间,取决于你的计算机性能。
make -j$(nproc)
- 安装到本地目录:
使用make install将编译好的GCC安装到之前configure时指定的前缀路径下。
make install
- 更新环境变量:
安装完成后,你需要更新你的PATH环境变量,以便能够找到新安装的GCC二进制文件。你可以通过编辑你的.bashrc或.bash_profile文件来实现这一点(根据你的shell类型不同选择相应的文件)。
gcc9.5.0配置
export GCC9_HOME=$HOME/local/gcc-9.5.0
export PATH=$HOME/local/gcc-9/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GCC9_HOME/lib:$GCC9_HOME/lib32:$GCC9_HOME/lib64
然后更新环境变量
source ~/.bashrc
- 验证安装:
最后,你可以检查GCC版本以确认安装是否成功。
gcc-9.5.0 --version
gcc (GCC) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
使用
如果不希望更换默认GCC版本, 只需要在命令行临时输入:
export CC=$HOME/local/gcc-9/bin/gcc
export CXX=$HOME/local/gcc-9/bin/g++