安装gccapt安装:sudo apt-get install gcc-7.2.0(未测试)安装包安装 下载安装包:/?target=https%3A%2F%2Fmirrors.tuna.%2Fgnu%2Fgcc%2Fgcc-7.2.0%2Fgcc-7.2.0.tar.gz解压:tar -zxvf gcc-7.2.0.tar.gz gcc-7.2.0/进入目录:cd gcc-7.2.0下载依赖包 方法一:./contrib/download_prerequisites方法二:手动下载 isl-0.16.1.tar.bz2
cp isl-0.16.1.tar.bz2 ./gcc-7.2.0cd ./gcc-7.2.0 && tar -xvjf isl-0.16.1.tar.bz2ln -s ./isl-0.16.1 isl
mpfr-3.1.4.tar.gz
cp mpfr-3.1.4.tar.bz2 ./gcc-7.2.0cd ./gcc-7.2.0 && tar -xvjf mpfr-3.1.4.tar.bz2ln -s ./mpfr-3.1.4 mpfr
mpc-1.0.3.tar.gz
cp mpc-1.0.3.tar.gz ./gcc-7.2.0cd ./gcc-7.2.0 && tar -zxvf mpc-1.0.3.tar.gzln -s ./mpc-1.0.3 mpc
gmp-6.1.0.tar.bz2
cp gmp-6.1.0.tar.bz2 ./gcc-7.2.0cd ./gcc-7.2.0 && tar -xvjf gmp-6.1.0.tar.bz2ln -s ./gmp-6.1.0 gmp
建立新的build文件夹,保证源目录的整洁性
mkdir build cd build
运行一些配置命令
../configure --prefix=/usr/local/gcc-7.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
执行该配置命令可能会出现gcc: error: unrecognized command line option '-V'(通过grep -n errorconfig.log找到),将configure脚本里“--version -v -V -qversion”地方都改成“--version -v”编译gcc:make -j 32 编译过程若出现错误'aclocal-1.14' is missing on your system,则需要安装automake
wget /gnu/automake/automake-1.14.1.tar.gztar -zxvf automake-1.14.1.tar.gz -C /opt/cd /opt/automake-1.14.1输入命令:./bootstrap.sh配置环境:./configure配置并安装:make;make install检查automake --version
在安装automake过程中出现autom4te: command not found,则需要安装autoconf apt方式:sudo apt-get install autoconf安装包安装方式:下载下面3个deb文件,sudo dpkg -i *.deb autoconf_2.69-6_all.deblibsigsegv2_2.10-2_amd64.debm4_1.4.17-2ubuntu1_amd64.deb安装autoconf过程中会出现Unescaped left brace in regex is illegal here in regex;问题,这是因为perl版本太高,需要版本降级 源码安装方式:下载perl_5.18.2.orig.tar.bz2
tar -xvf perl_5.18.2.orig.tar.bz2cdperl_5.18.2./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"make -j8 && sudo make install
sudo make install(到这里已经切换成功了,后面没有测试使用)查看当前使用版本gcc --verison切换目标版本
which gcc # 找到gcc的安装目录, 这里假设是在/usr/bin/gcc-7sudo rm -f /usr/bin/gcc # 删除原本的软连接sudo ln /usr/bin/gcc-7 /usr/bin/gcc # 创建指向gcc-7的软连接