【转】gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+

本文详细记录了从SVN获取GCC最新代码并编译的过程,解决了配置问题,介绍了GMP、MPFR和MPC三个依赖库的安装步骤,最终成功编译并配置GCC,准备开始C++11的学习。

原文:https://blog.youkuaiyun.com/enson16855/article/details/52205044 

 从svn checkout svn://gcc.gnu.org/svn/gcc/trunk拿了GCC的最新代码,打算编译了学东西习学习C++ 11的东西,结果在configure的时候出现如下问题:

    Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+

    http://www.multiprecision.org/mpc 下载mpc-0.9.tar.gz      

      ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2下载gmp-5.0.1.tar.bz2

      http://ftp.gnu.org/gnu/mpfr/下载mpfr-3.1.0.tar.xz。

     先开始安装GMP。解压GMP的压缩包后,得到源代码目录gmp-5.0.1。在该目录的同级目录下建立一个临时的编译目录,这里命名为temp。然后开始配置安装选项,进入temp目录,输入以下命令进行配置:

  ../gmp-5.0.1/configure –prefix=/usr/local/gmp-5.0.1

     make

     sudo make install

     mpfr和mpc的安装方法与gmp类似。不过要注意配置的时候要把gmp与mpfr的依赖关系选项加进去,具体配置命令如下:

  ../mpfr-3.1.0/configure –prefix=/usr/local/mpfr-3.1.0 –with-gmp=/usr/local/gmp-5.0.1

  ../mpc-0.9/configure –prefix=/usr/local/mpc-0.9 –with-gmp=/usr/local/gmp-5.0.1 –with-mpfr=/usr/local/mpfr-3.1.0

  安装好这三个库之后,就可以正式开始安装gcc了。  

     当然了链接的时候,需要刚刚编译的3个lib。

     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib 

     然后是典型的configure,make,install三步曲。

     ../trunk/configure –prefix=/usr/local/gcc-4.7 –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++

  –with-gmp=/usr/local/gmp-5.0.1 –with-mpfr=/usr/local/mpfr-3.1.0 –with-mpc=/usr/local/mpc-0.9

      make

      make check(可选)

      sudo make install

     经过漫长的等待:

 /usr/local/gcc-4.7/bin/g++ -v

使用内建 specs。

COLLECT_GCC=/usr/local/gcc-4.7/bin/g++

COLLECT_LTO_WRAPPER=/usr/local/gcc-4.7/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper

目标:x86_64-unknown-linux-gnu

配置为:../trunk/configure –prefix=/usr/local/gcc-4.7 –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++ –with-gmp=/usr/local/gmp-5.0.1 –with-mpfr=/usr/local/mpfr-3.1.0 –with-mpc=/usr/local/mpc-0.9

线程模型:posix

gcc 版本 4.7.0 20120113 (experimental) (GCC)

开始C++ 11学习了。

checking for the correct version of gmp.h... yes checking for the correct version of mpfr.h... yes checking for the correct version of mpc.h... no configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ 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. Makefile:46: recipe for target '/home/user/nvr8064/torchlight/build_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/gcc-linaro-4.6-2012.02-minimal/.configured' failed make[3]: *** [/home/user/nvr8064/torchlight/build_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/gcc-linaro-4.6-2012.02-minimal/.configured] Error 1 make[3]: Leaving directory '/home/user/nvr8064/torchlight/toolchain/gcc/minimal' toolchain/Makefile:168: recipe for target 'toolchain/gcc/minimal/compile' failed make[2]: *** [toolchain/gcc/minimal/compile] Error 2 make[2]: Leaving directory '/home/user/nvr8064/torchlight' toolchain/Makefile:132: recipe for target '/home/user/nvr8064/torchlight/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/stamp/.toolchain_install' failed make[1]: *** [/home/user/nvr8064/torchlight/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/stamp/.toolchain_install] Error 2 make[1]: Leaving directory '/home/user/nvr8064/torchlight' /home/user/nvr8064/torchlight/include/toplevel.mk:199: recipe for target 'world' failed make: *** [world] Error 2 这次报这个错误了
最新发布
12-24
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值