海湾合作委员会 6.1.安装,gmp/mpfr/mpc 未构建



我最近安装了gcc 6.1,专门针对标题中提到的库(gmp/mpfr/mpc) 我遵循了 gnu 网站所说的:

GNU 多精度库 (GMP) 版本 4.3.2(或更高版本) 构建海湾合作委员会所必需的。如果在 名为gmp的GCC源的子目录,它将一起构建 与海湾合作委员会。或者,如果 GMP 已安装,但它不在 您的库搜索路径,您必须使用 --带GMP配置选项。参见 --with-gmp-lib 和 --with-gmp-include。树内构建仅download_prerequisites安装的 GMP 版本受支持。

与其他库类似,即我下载了在我的 GCC 目录中复制的最新版本的源代码,然后对 gcc 进行"配置"、"制作"和"安装",假设它会与 gcc 一起构建。但是,当我尝试运行一个使用 gmp 库的编译项目时,它确实会说:

error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

所以我正在寻找共享对象的位置,但我找不到 GCC 安装它的位置。

在安装 gcc 之前,我应该先编译 GMP/MPFR 和 MPC 吗?因为我认为没有必要。如果我不需要编译库,GMP/MPFR 和 MPC 应该安装在哪里?

一些进一步的细节:

我不认为我做了任何奇怪和复杂的事情。1. 我下载了 gcc 并将源代码放在一个目录中。2.我下载了所有这些库,作为tar文件;3. 在 GCC 源根目录(GMP、MPFR 和 MPC)中创建三个文件夹,AMD 在这些文件夹中扩展了上一步的 TARP。4. 对于 gcc,我执行了./configure --prefix=/path/to/gcc_build5. 我执行了make6. 然后make install

如果我不使用我可以编译和执行的库而不会出现问题,当我需要这些库时,它会在成功编译后返回我提到的错误。如果我查看lib/lib64/路径,则不会发现与 gmp 库相关的任何内容。

如果我

错了,请纠正我。

我使用cygwin从他们的源网站编译GCC 6.3.0,经过研究,这篇文章在这里,我首先编译GCC基础设施,包括GMP,MPFR,MPC 以及libelf,ppl(可选)。然后尝试使用此命令编译 GCC(因为我针对 linux 的 GCC,所以我的目标是 i686-pc-linux-gnu)。我编译 GCC 基础设施并添加前缀

--prefix=/opt/cross

对于GMP,MPFR,MPC,还有Libelf和PPL。

所以当我编译GCC时,我可以使用。

--with-gmp=/opt/cross --with-mpfr=/opt/cross --with-mpc=/opt/cross

GCC 将自动遵循他们在/opt/cross 目录上所需的基础设施。

因为很多时候我都试图

./contrib/download_prerequisites

按照这种方法,尝试编译GCC时总是出错。

我已经完成了这种方法,编译了GCC和i686-pc-linux-gnu的binutils。但是我还没有尝试使用cygwin编译linux内核。

对不起我的英语,如果我的答案是OOT,也很抱歉。

最新更新