文章目录
- 0. 前言
- 1. 安装前准备工作
- 1.1 创建weihu用户
- 1.2 安装依赖包
- 1.2.1 安装 GMP
- 1.2.2 安装MPFR
- 1.2.3 安装MPC
- 2. gcc10.0.1版本安装
- 3. 报错解决
- 3. 1. wget下载报错
- 4. 参考文档
0. 前言
gcc
(GNU Compiler Collection)是GNU项目的一部分,它是一个支持多种编程语言的编译器集合,但最常用的是作为C和C++的编译器。GCC能够编译、汇编和链接C、C++、Objective-C、Fortran、Ada、Go以及D等多种语言的程序。它因其跨平台性、高效性和灵活性而受到广泛的欢迎和使用。
我的系统类型规格如下,openeuler属于redhat/centos系列。Ubuntu系列主机本文仅供参考。
最近要在BClinux for openeuler上安装mysql8.0结果各种报错,缺少很多依赖。可惜系统自带的yum源要么就是没有这个安装包,要么就是软件版本不符合要求。所以只能选择源码编译安装。当前系统gcc版本为7.3.0,要升级到10以上.
安装gcc前需要安装GMP、MPFR、MPC这三个依赖库
1. 安装前准备工作
如果需要再root下直接安装,请参考文章最后的root下编译安装gcc脚本
1.1 创建weihu用户
养成良好安装习惯,不使用
root
直接安装。如果需要再root下安装,请略过本文1.1小节即可
这里我们注册一个weihu
用户,并赋予维护用户sudo
权限。然后使用weihu
用户安装
赋予weihu
用户sudo
权限
在root ALL=(ALL) ALL
这一行下面添加
保存退出
接下来的所有操作均在weihu用户下面操作
1.2 安装依赖包
编译安装gcc之前,需要安装GMP、MPFR、MPC三个依赖。且三个依赖包的安装顺序由先后。同样,我们也需要分别编译安装(使用yum安装的版本较低,报错较多)
安装之前,先建个文件夹用于存放源码
1.2.1 安装 GMP
CMP下载网址: https://gcc.gnu.org/pub/gcc/infrastructure/
这里我们下周最新的版本6.2.1版本
可以下载到本地再上传到Linux主机,若Linux主机可以访问公网,也可以通过wget
方向直接下载到Linux主机。
这里我选择第二种方法。
这样就把gmp安装在/usr/local/gmp-6.2.1
路径下
在进行编译安装的时候。我用的命令为 make -j$(nproc)
使用
-j
选项可以指定同时运行的作业(即编译任务)的最大数量。如果-j
后面跟的是一个数字,那么make
会尝试同时运行指定数量的作业。如果不跟数字,或者跟的是0
,make
会尝试同时运行尽可能多的作业。
1.2.2 安装MPFR
MPFR下载网址: https://gcc.gnu.org/pub/gcc/infrastructure/
本次,我们选择MPFR版本为4.1.0
这样就把mpfr-4.1.0安装在/usr/local/mpfr-4.1.0
路径下
1.2.3 安装MPC
PC下载网址: https://gcc.gnu.org/pub/gcc/infrastructure/
本次,我们选择MPC版本为1.2.1
这样就把mpc-1.2.1安装在/usr/local/mpc-1.2.1
路径下
2. gcc10.0.1版本安装
gcc源码下载地址: https://gcc.gnu.org/pub/gcc/releases/
本次我们选择 gcc-10.1.0.tar.gz安装
gcc至此安装成功,然后我们将gcc添加进入系统环境变量
查看gcc版本
3. 报错解决
3. 1. wget下载报错
解决方法·