gcc下载及安装教程

本文详细介绍了如何下载GCC 5.1.0,包括解压、创建安装目录、配置并解决依赖问题。重点步骤包括安装GMP、MPFR和MPC,以及最终编译和环境设置。

gcc下载及安装教程

作者:白鹿(花名)

注意:请提前获取root权限


1、gcc下载链接:http://ftp.gnu.org/gnu/gcc/gcc-5.1.0/

2、解压相关下载压缩包(此处已提前下载,无需重复下载)

tar xjvf gcc-5.1.0.tar.bz2
  • 相关解压文件目前所停留路径:GPU-3
/home/op/bailu/bak

3、创建安装目录

mkdir /usr/local/gcc-5.1.0/

4、进入安装目录

cd /usr/local/gcc-5.1.0/

5、配置安装文件

/home/op/bailu/bak/gcc-5.1.0/configure --prefix=/usr/local/gcc-5.1.0
  • 潜在BUG说明:配置过程中如果服务器环境中缺少gcc需要的相关依赖则可能出现如下错误,错误示例:

configure: error: in /usr/local/gcc-5.1.0': configure: error: no acceptable C compiler found in $PATH** Seeconfig.log’ for more details.

​ 参考解决方案降低gcc版本安装


configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.

​ 此种情况下需要安装相关的依赖包,相关文件下载链接,下载完成直接rz 到gpu-3即可:

https://gcc.gnu.org/pub/gcc/infrastructure/

特殊说明:由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp4.3.2,mpfr2.4.2和mpc0.8.1,都放在 /同一目录文件夹下。

相关包解压及安装参考流程, 说明具体目录名称以实际目录为主:

  • 示例:gmp-4.3.2安装(具体目录名称以实际依赖的版本号为主)

1、解包:tar jxvf gmp-4.3.2.tar.bz2

2、创建安装目录:mkdir /usr/local/gmp-4.3.2

3、进入安装文件目录:cd /usr/local/gmp-4.3.2

4、配置安装文件:/服务器目录/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2

5、编译:make

6、执行安装:make install

  • 示例: 安装mpfr2.4.2

1、解包:tar jxvf mpfr2.4.2.tar.bz2

2、创建安装目录:mkdir /usr/local/mpfr-2.4.2

3、进入安装目录:cd /usr/local/mpfr-2.4.2

4、配置安装文件:/服务器目录/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2

5、编译:make

6、执行安装:make install

  • 示例:安装mpc0.8.1

1、解包:tar jxvf gmpc0.8.1.tar.bz2

2、创建安装目录:mkdir /usr/local/mpc-0.8.1

3、进入安装目录:cd /usr/local/mpc-0.8.1

4、配置安装文件:/服务器目录/mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2

5、编译:make

6、执行安装:make install

6、解决5中相关BUG之后继续安装GCC;

  • 示例:安装gcc流程
1、切换到相关安装目录:cd /usr/local/gcc-5.1.0
建议:执行2之前,优先配置相关gcc依赖的环境变量(具体以实际版本号为主):export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib
2、配置安装文件(相关依赖名称以实际依赖版本号为主):/服务器目录/gcc-5.1.0/configure --prefix=/usr/local/gcc-5.1.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
3、编译:make
大概需要1个小时左右
4、执行安装:make install

7、如果不出意外,那么到现在应该安装成功了,不过还是不能使用新版本的gcc,因为新版本的gcc还没有加入命令搜索路径中!

8、建立软链接

sudo ln -s /usr/local/gcc-5.1.0/bin/gcc gcc510
sudo ln -s /usr/local/gcc-5.1.0/bin/g++ g++510

9、添加环境变量

打开/etc目录下的bashrc文件添加如下代码:(具体版本目录以实际依赖为主)
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-5.1.0/lib

export LD_LIBRARY_PATH
### 如何下载安装最新版GCC编译器 #### 安装依赖包 为了确保系统的环境适合安装最新的GCC编译器,需要先更新软件列表并且安装一些必要的工具和库。这可以通过运行以下命令完成: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential software-properties-common -y ``` 这些操作会准备系统以便于后续的GCC安装过程[^1]。 #### 添加PPA仓库 对于希望获取较新版本的GCC而不局限于Ubuntu官方源所提供的版本,可以考虑添加第三方PPA(Personal Package Archive)。这里推荐使用`ubuntu-toolchain-r/test` PPA,它经常提供更近期的GCC版本。 ```bash sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update ``` 此步骤使得可以从该PPA获得更新的GCC版本信息。 #### 查询可用的GCC版本 通过APT缓存查询当前可安装的所有GCC版本号,从而决定要安装的具体版本。 ```bash apt list --installed | grep gcc apt policy gcc-[0-9]* # 查看具体版本策略 ``` 上述命令可以帮助了解已经安装了哪些GCC版本以及有哪些新的候选版本可供选择。 #### 下载安装指定版本的GCC 一旦决定了想要安装哪个版本,则可以直接利用APT进行安装。例如,如果打算安装GCC 12.x系列的一个稳定版本,那么执行如下指令即可: ```bash sudo apt install gcc-12 g++-12 ``` 请注意替换这里的“12”为你实际想使用的版本编号。这样就完成了特定版本GCC及其对应的G++前端程序的安装工作。 #### 设置默认GCC版本 当机器上有多个不同版本共存时,默认情况下可能不会自动切换到刚安装的那个版本。因此还需要设置链接让其成为默认选项之一。 ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 60 \ --slave /usr/bin/g++ g++ /usr/bin/g++-12 sudo update-alternatives --config gcc ``` 最后一步会让用户交互式地挑选出一个作为全局默认使用的GCC版本。至此整个流程结束,成功配置好了所需的新版GCC编译器环境。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值