2012-05-04 36 views
6

Tôi đang cố gắng cài đặt Math::GMP nhưng vẫn không thành công và không chắc chắn nên đi đâu từ đây. Đây là những gì im gõ và đây là sản lượng trỏ đến file log:Toán học :: Lỗi GMP khi cài đặt

[[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]# 

Tôi đã kiểm tra các bản ghi và im không chắc chắn những gì cấu trúc im cho là có đây được các bản ghi của /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) 

Trả lời

12

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

là phần quan trọng.

Bạn phải cài đặt các tệp phát triển/tiêu đề cho libgmp. Trên hệ thống openSUSE của tôi, tệp có liên quan là /usr/include/gmp.h, gói được gọi là gmp-devel. Trên hệ thống Debian/có nguồn gốc, gói được gọi là libgmp3-dev.

+3

Nếu đề nghị [Dễ dàng lắp đặt không CPAN phụ thuộc] (http://news.perlfoundation.org/2012/05/2012q2-grant-proposal-easy-ins .html) bởi [chorny] (http://stackoverflow.com/users/13467/alexandr-ciornii) được cấp và hoàn thành, những loại vấn đề mới bắt đầu sẽ giảm đáng kể. Cộng đồng, hãy chia sẻ điều này. – daxim

+0

Cảm ơn @daxim. Cài đặt gmp-devel đã làm các trick. :) – Technext

2

Trên hộp Ubuntu, tôi đã cài đặt libmath-gmp-perl bằng Trình quản lý gói Synaptic. Gói GMP được đề cập sẽ được biên soạn. Nó không phải là một cách giải quyết tốt mặc dù, nhưng nó làm việc cho tôi.

0

chạy lệnh này:

yum install gmp-static