一、首先下载gcc源码包
通过访问 https://www.linuxfromscratch.org/blfs/view/svn/general/gcc.html 下载gcc源码包
Package Information
-
Download (HTTP): https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz
-
Download (FTP): ftp://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz
-
Download MD5 sum: 31c86f2ced76acac66992eeedce2fce2
-
Download size: 77 MB
-
Estimated disk space required: 8.0 GB (2.4 GB installed with all listed languages; add 1.0 GB for tests)
-
Estimated build time: 26 SBU (add 56 SBU for tests; both with parallelism=4)
二、下载依赖源码包
通过下面链接下载:
https://gcc.gnu.org/pub/gcc/infrastructure/
需要下载gmp-6.1.0.tar.bz2、mpfr-3.1.6.tar.bz2、mpc-1.0.3.tar.gz、isl-0.18.tar.bz2
下载完成
三、安装顺序
1、首先安装gmp-6.1.0
执行下面命令进行解压
tar -jxvf gmp-6.1.0.tar.bz2
进入解压后的文件夹中
cd gmp-6.1.0
通过下面命令安装到指定目录下
BUILD_LIBS=${HOME}/install
编译前配置
./configure --prefix=${BUILD_LIBS}/gmp-6.1.0/gmp-6.1.0-obj --build=x86_64-linux
说明:${HOME}是当前登录的用户目录;
配置通过后执行下面命令
make && make install
2、安装mpfr-3.1.6
执行下面命令进行解压
tar -jxvf mpfr-3.1.6.tar.bz2
进入解压后的文件夹中
cd mpfr-3.1.6
编译前配置
BUILD_LIBS=${HOME}/install
./configure --prefix=${BUILD_LIBS}/mpfr-3.1.6/mpfr-3.1.6-obj --with-gmp=${BUILD_LIBS}/gmp-6.1.0/gmp-6.1.0-obj
配置通过后执行下面命令
make && make install
3、安装mpc-1.0.3
执行下面命令进行解压
tar -zxvf mpc-1.0.3.tar.gz
进入解压后的文件夹中
cd mpc-1.0.3
编译前配置
BUILD_LIBS=${HOME}/install
./configure --prefix=${BUILD_LIBS}/mpc-1.0.3 --with-mpfr=${BUILD_LIBS}/mpfr-3.1.6/mpfr-3.1.6-obj --with-gmp=${BUILD_LIBS}/gmp-6.1.0/gmp-6.1.0-obj
配置通过后执行下面命令
make && make install
4、安装isl-0.18
执行下面命令进行解压
tar -jxvf isl-0.18.tar.bz2
进入解压后的文件夹中
cd isl-0.18
编译前配置
BUILD_LIBS=${HOME}/install
./configure --prefix=${BUILD_LIBS}/isl --with-gmp-prefix=${BUILD_LIBS}/gmp-6.1.0/gmp-6.1.0-obj
配置通过后执行下面命令
make && make install
四、到此gcc的4个依赖安装完成,接下来安装gcc-11.2.0
执行下面命令进行解压
tar -zxvf gcc-11.2.0.tar.gz
进入解压后的文件夹中
cd gcc-11.2.0
BUILD_LIBS=${HOME}/install
./configure configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=${BUILD_LIBS}/gcc-11.2 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-11.2 --with-gmp=${BUILD_LIBS}/gmp-6.1.0/gmp-6.1.0-obj --with-mpfr=${BUILD_LIBS}/mpfr-3.1.6/mpfr-3.1.6-obj --with-mpc=${BUILD_LIBS}/mpc-1.0.3
配置通过后执行下面命令
make && make install
通过此方法可满足以下需要:
1、可以同一系统中,安装不同版本的gcc
2、linux用户非root权限(普通用户)可以安装gcc