4

我正在尝试在 CentOS 上构建最新的(在撰写本文时)GCC 版本。我下载并构建了 GMP、MPFR 和 MPC。这些库位于 /usr/local 下(即 usr/local/lib 用于库,/usr/local/include 用于包含)。现在我正在尝试配置 GCC 以使用以下命令进行构建:

./configure --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local

我收到以下错误消息:

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... yes
checking for the correct version of the gmp/mpfr/mpc libraries... 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.

可能是什么原因?库是构建的,位置正确,头文件被识别,但库本身不是。我也试过这个:

./configure --with-gmp-lib=/usr/local/lib \
--with-mpfr-lib=/usr/local/lib --with-mpc-lib=/usr/local/lib

但结果是一样的。

4

3 回答 3

5

强烈推荐使用 GCC SRC (http://www.gnu.org/software/gsrc/)

您需要先安装 Python 和 bzr。

然后在配置后(gsrc 网页中的步骤),只需在 gsrc 目录中进行这些操作

制作 -C gnu/gcc
制作 -C gnu/gcc 安装

于 2012-12-27T04:12:23.703 回答
1

谢谢,我调查了自己;问题是在 CentOS 6 中预装了旧版本的 GMP/MPFR/MPC,它们与我新建的库发生冲突。

于 2012-09-25T20:14:34.917 回答
0

有人为此编写了一个脚本。它解决了库对这些库的依赖关系以及它们之间的依赖关系的问题。 http://joelinoff.com/blog/?p=811

它对我进行了一些小的修改,但生成的 gcc 有古怪的链接路径(它生成的二进制文件仍然在包含旧库的常规系统路径中查找 libstdc++.so。我对此有一个问题:

如何使用内置 rpath 构建和安装 gcc?

于 2012-11-11T18:54:28.657 回答