在哪里可以找到"gmp.h"文件?

81

我正在安装一个库,遇到了这个错误信息:

xxxx@ubuntu$ make
(cd num; make all)
make[1]: Entering directory `/home/xxxx/num'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/xxxx/num'
(cd itv; make all)
make[1]: Entering directory `/home/xxxx/itv'
gcc -Wcast-qual -Wswitch -Werror-implicit-function-declaration -Wall -Wextra -Wundef -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wno-unused -std=c99 -U__STRICT_ANSI__ -O3 -DNDEBUG -I../num -I../apron -I/usr/include -I/usr/include -DNUM_MPQ -c -o itvMPQ.o itv.c
In file included from itv.h:9:0,
             from itv.c:5:
../num/num.h:15:17: fatal error: gmp.h: No such file or directory
compilation terminated.
make[1]: *** [itvMPQ.o] Error 1
make[1]: Leaving directory `/home/xxxx/itv'
make: *** [c] Error 2
所以问题在于它找不到文件,有人知道这个文件在哪里,如何让安装程序找到它?顺便说一句,目前我的主要指向/usr/usr/local...

编辑1: 按照建议安装了libgmp3-dev后,当前的错误消息是../num/num.h:16:18: fatal error: mpfr.h: No such file or directory,有人知道是哪个软件包吗?

编辑2: 我按照此页面安装了MPFR,这确实有帮助,现在的错误消息是gmp_caml.c:17:33: fatal error: caml/camlidlruntime.h: No such file or directory,能否帮忙?

编辑3: 我执行了apt-file search camlidlruntime命令,它返回camlidl: /usr/lib/ocaml/caml/camlidlruntime.h,但是我的文件夹/usr/lib/ocaml/caml/中没有camlidlruntime.h文件,我该如何检查是否已经安装了MPFR的dev包?它到底是哪个软件包?

7个回答

119

你需要安装 libgmp3-dev

根据你的Linux系统不同,可能会有所不同

yum install  libgmp3-dev

apt-get install  libgmp3-dev

2
请确保您拥有所有必需的库。根据错误提示,您需要安装GNU MPFR。 - Vivek Goel
1
如果你花一些时间在谷歌上搜索文件名,你就能找到你的文件所属的包名。 - Vivek Goel
@VivekGoel 我收到了消息“dchris04不在sudoers文件中。本事件将被报告。"其中dchris04是我的用户名。此外,我不确定我是否有root用户密码,因为我在我的大学实验室的计算机上工作。 - Dchris
4
在Centos 6.5中,安装gmp、gmp-devel和gmp-status需使用以下命令:sudo yum install gmp gmp-devel gmp-status。在yum中搜索gmp即可。 - Nishant
1
@thedayturns感谢你的测试。我已将其添加为答案。 - Nishant
显示剩余7条评论

21
在OS X上(如果您正在使用Homebrew),请执行以下操作:
brew install gmp

13
在CentOS 6.5中,安装gmp、gmp-devel和gmp-status应该使用命令sudo yum install gmp gmp-devel gmp-status
专业提示:在yum中搜索"gmp",并尝试使用"yum provides"命令。

1
在Centos 7上,我安装了sudo yum install gmp gmp-devel gmp-static,而不是gmp-status,这对我有用,我成功编译了,谢谢! - Peter Edwards

7

这个方法对我有效:

apt-get install  libgmp3-dev   (Might vary in linux distro; this is for Ubuntu)
pip3 install gmpy --user

是的,这就是我在Debian上缺少的东西。我已经安装了libgmp-dev,但它并没有起到帮助作用... - Ecuador

4

因为有可能出于某些特定原因(就像我一样),您需要以32位格式使用此库。

您需要在Ubuntu/Debian上运行以下命令:

apt-get install  libgmp3-dev:i386

任何库后缀:i386都会安装其32位版本。

3

我做了很多研究,最终可以使用以下环境变量编译hue:

    export CPFLAGS="-I/usr/local/include/gmp.h -I/usr/local/opt/openssl/include"
    export CFLAGS="-I/usr/local/include/gmp.h"
    export CXXFLAGS="-I/usr/local/include/gmp.h"
    export LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib"

    export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

1
每当我遇到错误时,我通常会做以下操作:sudo apt-get install lib<name_of_library_not_found>-dev,这些开发库或者其他东西似乎能解决问题。虽然听起来有点愚蠢。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接