configure:error:构建GCC需要GMP 4.2 +,MP​​FR 2.3.1+和MPC 0.8.0+

时间:2012-06-13 16:33:57

标签: gcc build compilation compiler-errors

我正在尝试在运行OS X 10.7.4的MacBook Pro上构建GCC-4.7.0。但是,我仍然遇到同样的错误:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

运行以下行后发生此错误:

./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/

为了摆脱这个错误,我尝试了以下行动:

  • 使用自制软件我下载了gmp-5.0.4,mpc-0.21和mpfr-3.1.0。此时,我尝试使用以下命令指向gmp,mpc和mpfr所在的位置:

    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/     --with-gmp=/usr/local/Cellar/ --with-mpfr=/usr/local/Cellar/ --with-mpc=/usr/local/Cellar/
    

    然而,这导致了同样的错误。所以,我尝试将gcc指向Cellar目录周围的不同位置:

    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/ --with-gmp=/usr/local/Cellar/gmp/ --with-mpfr=/usr/local/Cellar/mpfr --with-mpc=/usr/local/Cellar/mpc/
    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/ --with-gmp=/usr/local/Cellar/gmp/5.0.4/ --with-mpfr=/usr/local/Cellar/mpfr/3.1.0/ --with-mpc=/usr/local/Cellar/mpc/0.21/
    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/ --with-gmp=/usr/local/Cellar/gmp/5.0.4/include/ --with-mpfr=/usr/local/Cellar/mpfr/3.1.0/include/ --with-mpc=/usr/local/Cellar/mpc/0.21/share/
    

    最后这些都产生了同样的错误。然后我从gcc错误消息(在这里找到ftp://gcc.gnu.org/pub/gcc/infrastructure/)下载了gmp,mpc和mpfr链接的版本。从源代码构建这些并运行所有相同的配置后,我留下了同样的问题。我尝试使用此安装的配置是:

    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/
    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/ --with-gmp=/usr/local/ --with-mpfr=/usr/local/ --with-mpc=/usr/local/
    ./configure --prefix=/Users/jreese/Documents/school/edinburgh/project/local/ --with-gmp=/usr/local/include/ --with-mpfr=/usr/local/include/ --with-mpc=/usr/local/include/
    

然后我在某处读到如果我没有明确将配置设置为在64位模式下运行可能会出现问题。所以,我再次使用'CC = gcc -m64'的设置尝试了所有这些配置。但这并没有改变任何事情。如果有人有任何想法,我将非常感激。

3 个答案:

答案 0 :(得分:4)

如果您不知道如何构建并正确地将GCC的配置指向库,您可以将它们放在GCC自身的源代码树中:

/一些/目录/源极/ GCC / [++的libstdc | libgomp | GCC | libiberty | ...]    /一些/目录/源/ GCC / GMP / [配置| ...]    /一些/目录/源/ GCC / MPFR / [配置| ...]    /一些/目录/源极/ GCC / MPC / [配置| ...]

所以没有附加版本号。然后只运行GCC configure,不带任何与GMP / MPC / MPFR相关的参数。

答案 1 :(得分:3)

我遇到了同样的问题,通过安装相应的开发包很容易解决:gmp-devel,mpfr-devel和libmpc-devel

  • 人Yigal

答案 2 :(得分:0)

EasyBuild(使构建软件更容易的工具)在这里可以提供帮助。它附带一个小的easyconfig文件,用于指定要构建的GCC版本以及要启用的功能(请参阅例如https://github.com/hpcugent/easybuild/blob/master/easybuild/easyconfigs/g/GCC/GCC-4.7.0.eb)。

下载EasyBuild并对其进行配置后,即可运行

$EBHOME/easybuild.sh myGCC.eb

将EBHOME设置为解压缩EasyBuild的位置,将myGCC.eb设置为您根据需要修改的示例GCC easyconfig的副本。

此命令将为您下载GCC源代码tarball,并在对任何依赖项(例如GMP,MPFR和MPC)执行相同操作后构建/安装它,从而为您节省很多麻烦。

有关EasyBuild的更多信息,请参阅https://github.com/hpcugent/easybuild/wiki