自己在无法联网的Linux下安装GCC,捯饬了三天,快搞疯了,在网上看了很多教程,走了很多弯路,最后终于安装成功,把自己的安装过程记录下来,按照我的安装步骤应该可以安装成功,文章的最后也有自己安装过程中出现的错误以及解决方法。
- http://ftp.gnu.org/gnu/gcc/ 在此网址上下载想要安装的GCC版本。
- 在用户目录下新建文件夹“GCC”(名字自由选择),将安装包上传到用户的目录下的GCC文件夹
- 使用tar zxvf filename.tar.gz 命令将压缩包解压
- ftp://gcc.gnu.org/pub/gcc/infrastructure/ 下载需要的三个依赖包:GMP、MPFR、MPC
- 由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC
- 将压缩包上传到“GCC”文件夹下
- 解压:tar jxvf gmp-x.x.x.tar.bz2,解压后出现文件夹gmp-x.x.x
- 在GCC文件夹下,新建文件夹con_gmp(自由选择,下同)
- 进入con_gmp,运行命令:../gmp-x.x.x/configure –prefix=/data/ home/XXX/GCC/gmp
- 运行命令:make
- 运行命令:make install
- 回到GCC文件夹下
- 解压:tar jxvf mpfr-x.x.x.tar.bz2,解压后出现文件夹mpfr-x.x.x
- 在GCC文件夹下,新建文件夹con_mpfr
- 进入con_mpfr,运行命令:../mpfr-x.x.x/configure --prefix=/data/home/XXX/GCC/mpfr --with-gmp=/data/home/XXX/GCC/gmp
- 运行命令:make
- 运行命令:make install
- 回到GCC文件下
- 解压:tar zxvf mpc-x.x.x.tar.gz,解压后出现文件夹mpc-x.x.x
- 在GCC文件夹下,新建文件夹con_mpc
- 进入con_mpc,运行命令:.. /mpc-x.x.x /configure --prefix=/data/home/XXX/GCC/mpc --with-gmp=/data/home/XXX/GCC/ gmp --with- mpfr=/data/home/XXX/GCC /mpfr
- 运行命令:make
- 运行命令:make install
- 回到GCC文件下
- 新建con_gcc文件夹,进入该文件夹
- 运行命令: ../gcc-8.3.0/configure --prefix=/data/home/XXX/GCC/gcc --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/data/home/XXX/GCC/gmp --with-mpfr=/data/home/XXX/GCC/mpfr --with-mpc=/data/home/XXX/GCC/mpc
-
运行命令:make
-
运行命令:make install
-
配置环境变量: 运行命令:export PATH=/data/home/XXX/GCC/gcc/bin:$PATH 运行命令: export LD_LIBRARY_PATH=/data/home/XXX/GCC/gcc/lib/:/data/home/XXX/GCC/gcc/lib64:$LD_LIBRARY_PATH
安装过程中出现的问题:
第26步出现错误:
错误:
make[3]: *** [c/c-lang.o] Error 1
make[3]: Leaving directory `/home/XXX/XXXX/GCC'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory ``/home/XXX/XXXX/GCC'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory ``/home/XXX/XXXX/GCC'
make: *** [all] Error 2
解决方法(这么解决的原因,网上有解释):
运行命令: unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
第26步出现错误:
错误:
error while loading shared libraries: libmpc.so.3
解决方法:(网上其实有很多解决方法,这里我也是选了其中一种)
出问题的原因是在目录下找不到libmpc.so.3这个文件。
- 可以在用户目录下运行命令:find –name libmpc.so.3,找到所需要的文件的目录
- 运行命令:vi bashrc
- 添加: export LD_LIBRARY_PATH=/(文件的绝对路径) / lib:$LD_LIBRARY_PATH
- 运行命令:source bashrc
- 如果还有其他类似的文件出现这样的问题,也可以采用类似的方法。
第26步出现错误:
错误:
make[2]: *** [compare] 错误 1
make[2]:正在离开目录 ``/home/XXX/XXXX/GCC '
make[1]: *** [stage3-bubble] 错误 2
make[1]:正在离开目录 ``/home/XXX/XXXX/GCC '
make: *** [all] 错误 2
解决方法:
- 运行命令:make distclean
- 回到第26步