2012-05-04 126 views
6

我试图安装Math::GMP,但它一直在失败,我不知道该从哪里出发。这是林打字和这里输出指向日志文件:Math ::安装时出现的GMP错误

[[email protected] Math-GMP-2.06-VEVNp7]# cpanm Math::GMP 
--> Working on Math::GMP 
Fetching http://www.cpan.org/authors/id/T/TU/TURNSTEP/Math-GMP-2.06.tar.gz ... OK 
Configuring Math-GMP-2.06 ... OK 
Building and testing Math-GMP-2.06 ... FAIL 
! Installing Math::GMP failed. See /root/.cpanm/build.log for details. 
[[email protected] Math-GMP-2.06-VEVNp7]# 

我查了日志和IM不知道什么结构IM应该有 这里是/root/.cpanm/build.log

cpanm (App::cpanminus) 1.5011 on perl 5.008008 built for i386-linux-thread-multi 
Work directory is /root/.cpanm/work/1336128898.6464 
You have make /usr/bin/make 
You have /usr/bin/wget 
You have /bin/tar: tar (GNU tar) 1.15.1 
You have /usr/bin/unzip 
Searching Math::GMP on cpanmetadb ... 
--> Working on Math::GMP 
Fetching http://www.cpan.org/authors/id/T/TU/TURNSTEP/Math-GMP-2.06.tar.gz 
-> OK 
Unpacking Math-GMP-2.06.tar.gz 
Entering Math-GMP-2.06 
Checking configure dependencies from META.yml 
Configuring Math-GMP-2.06 
Running Makefile.PL 
Checking if your kit is complete... 
Looks good 
Writing Makefile for Math::GMP 
-> OK 
Finding PREREQ from Makefile ... 
Building and testing Math-GMP-2.06 
cp lib/Math/GMP.pm blib/lib/Math/GMP.pm 
AutoSplitting blib/lib/Math/GMP.pm (blib/lib/auto/Math/GMP) 
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -  typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap GMP.xs > GMP.xsc && mv GMP.xsc GMP.c 
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/inc$ 
GMP.xs:4:17: error: gmp.h: No such file or directory 
GMP.xs: In function âconstantâ: 
GMP.xs:49: warning: label ânot_thereâ defined but not used 
GMP.c: In function âXS_Math__GMP_new_from_scalarâ: 
GMP.c:93: error: âmpz_tâ undeclared (first use in this function) 
GMP.c:93: error: (Each undeclared identifier is reported only once 
GMP.c:93: error: for each function it appears in.) 
GMP.c:93: error: âRETVALâ undeclared (first use in this function) 
GMP.xs:70: warning: implicit declaration of function âmpz_init_set_strâ 
GMP.c: In function âXS_Math__GMP_new_from_scalar_with_baseâ: 
GMP.c:114: error: âmpz_tâ undeclared (first use in this function) 
GMP.c:114: error: âRETVALâ undeclared (first use in this function) 
GMP.c: In function âXS_Math__GMP_destroyâ: 
GMP.c:133: error: âmpz_tâ undeclared (first use in this function) 

回答

12
日志

GMP.xs:4:17: error: gmp.h: No such file or directory

是重要组成部分。

您必须安装libgmp的开发文件/头文件。在我的openSUSE系统上,相关文件是/usr/include/gmp.h,该软件包名为gmp-devel。在Debian /衍生系统上,该软件包被称为libgmp3-dev

+3

如果该提议[非CPAN依赖易于安装](http://news.perlfoundation.org/2012/05/2012q2-grant-proposal-easy-ins .html)被[chorny](http://stackoverflow.com/users/13467/alexandr-ciornii)授予并完成,这些初学者问题将大大减少。社区,请分享这个。 – daxim

+0

谢谢@daxim。安装gmp-devel的确有窍门。 :) – Technext

2

在我的Ubuntu盒子上,我安装了新立得软件包管理器的libmath-gmp-perl。有关GMP包将被编译。尽管这不是一个好的解决方法,但它对我很有用。

0

运行下面的命令:

yum install gmp-static