欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu gcc与g++版本更新问题

程序员文章站 2022-03-28 13:51:22
...

ubuntu gcc与g++版本更新问题

近期使用ubuntu编译mt7682 openwrt源码,编译报错。
ubuntu gcc与g++版本更新问题
百度发现,gcc,g++版本太低,不支持c++11,4.7版本以后才会支持,现在是gcc version 4.6.3。现在下载version 4.8.0,所以要更新gcc g++版本

下载地址:点击这里

下载完成。
cd 解压后的目录
./configure
发现报错:

checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
checking for objdir... .libs
checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

百度,说原因是缺少mpfr,gmp,mpc依赖,安装依赖文件即可。
分别下载依赖包:
mpc:点击这里
mpfr:点击这里
gmp:点击这里

安装顺序按照上述下载顺序,否则会有依赖问题的报错,其次,这三个文件文件版本之间差异可能也会导致安装失败。
笔者贴出我的安装版本,测试ok
ubuntu gcc与g++版本更新问题
安装方法一致:./configure; make; sudo make install

下面再次安装gcc-4.8.0版本
安装发现还是报错,我将上述三个文件重新安装了一次解决了gcc -4.8.0安装error问题。

1,./configure

./configure之前需要将上述安装的依赖的库添加到环境变量,上述依赖库在/usr/local/lib,否则./configure还是报错
ubuntu gcc与g++版本更新问题
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

至此Makefile就能生成了
ubuntu gcc与g++版本更新问题

2,make

又遇到error了
ubuntu gcc与g++版本更新问题
继续安装依赖文件

sudo apt-get install lib32ncurses5-dev

sudo apt-get install libc6-dev-i386

make

3,make install

安装成功
ubuntu gcc与g++版本更新问题

安装成功后,注意
ubuntu gcc与g++版本更新问题
注意:将x86_64-linux-gnu-g++软链接修改为g++ 4.8版本,再次编译openwrt就能成功了

最后添加一个插曲,下载xxx.tar.lz文件解压
安装 lzip
执行 lzip -d 文件名 会得到一个.tar文件后使用tar解压