2012-12-21 45 views
26

Tôi đã cố gắng cài đặt XML :: Đơn giản trên Ubuntu 12.10 trong hai giờ qua và đã chính thức hết ý tưởng. Nó không thành công tại XML :: Parser.XML :: Trình phân tích cú pháp từ chối cài đặt

tôi đã thực hiện một

sudo apt-get install expat 

và nó vẫn không làm việc. Dưới đây là các lỗi tôi đã nhận được:

make[1]: Entering directory `/home/<user>/.cpan/build/XML-Parser-2.41-MCLo7T/Expat' 
cp Expat.pm ../blib/lib/XML/Parser/Expat.pm 
/usr/bin/perl /usr/share/perl/5.14.2/ExtUtils/xsubpp -noprototypes -typemap /usr/share /perl/5.14/ExtUtils/typemap -typemap typemap Expat.xs > Expat.xsc && mv Expat.xsc Expat.c 
cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"2.41\" -DXS_VERSION=\"2.41\" -fPIC "-I/usr/lib/perl/5.14/CORE" Expat.c 
Expat.xs:12:19: fatal error: expat.h: No such file or directory 
compilation terminated. 
make[1]: *** [Expat.o] Error 1 
make[1]: Leaving directory `/home/sclarawu/.cpan/build/XML-Parser-2.41-MCLo7T/Expat' 
make: *** [subdirs] Error 2 
TODDR/XML-Parser-2.41.tar.gz 
/usr/bin/make -- NOT OK 
Running make test 
Can't test without successful make 
Running make install 
Make had returned bad status, install seems impossible 

vẻ để được nói với tôi rằng nó không thể tìm thấy expat.h, nhưng tôi không chắc chắn lý do tại sao hoặc làm thế nào, xem xét người nước ngoài đã được cài đặt? Tôi đã cố gắng để apt expat-devel, nhưng nó xuất hiện không phải là một gói trong apt. bất kì ý kiến ​​nào đều được đánh giá cao. :)

EDIT: Tôi dường như chỉ đơn giản là cố cài đặt gói sai. -.- Nó luôn là những điều nhỏ nhặt. Phần lớn nhờ những người trả lời!

+0

Tại sao không thử đơn giản và trực tiếp perl -MCPAN -e 'cài đặt XML :: Đơn giản' – Samih3

+0

Yup, đó là những gì tôi đã thử và nơi tôi đã gặp phải những lỗi này. Xin lỗi, nên rõ ràng hơn. Tất cả đã được giải quyết ngay bây giờ! Cảm ơn bạn! – user1496777

Trả lời

32

Một cách khác để truy cập vào cùng một thông tin mà @Moritz Bunkus đã chỉ ra ở trên.

ubuntu:~$ apt-cache search expat 
expat - XML parsing C library - example application 
libexpat1 - XML parsing C library - runtime library 
libexpat1-dev - XML parsing C library - development kit 

Thứ ba trong tập hợp kết quả là những gì bạn đang tìm kiếm.

+1

đối với tôi trên linux khoa học, tôi đã phải intall "expat-devel" khi tìm kiếm yum trên libexpat không tiết lộ gì ngoài việc ràng buộc node.js. Cảm ơn bạn đã đăng bài, expat-devel đã cho tôi đi và bây giờ tôi có thể cài đặt của tôi perl deps (XML :: RSS)! – Kasapo

14

Bạn cần cài đặt thư viện Expat và các tiêu đề phát triển của nó. Đối với DebUbuntu, điều này có nghĩa là libexpat1-dev cũng như các bản phân phối này thường chia các thư viện thành hai gói: một cho các thành phần thời gian chạy (thư viện được chia sẻ, tệp dữ liệu, tài liệu chung), một cho các thành phần phát triển (thư viện tĩnh, tệp tiêu đề, tài liệu phát triển).

+0

+1 cho điều này. Tôi chỉ cần thêm một bình luận dưới đây để làm nổi bật làm thế nào để có được nó trên ubuntu. – Bee

17

Thêm vào câu trả lời khác, dưới đây là cách để cài đặt phụ thuộc người nước ngoài trên CentOS/RHEL:

yum install expat-devel 
+0

Làm việc cho tôi trên CentOS 7. Cũng có thể sử dụng 'dnf install expat-devel' nếu bạn thích' dnf'. –

5

Chỉ trong trường hợp, sử dụng Debian Jessie tôi phải cài đặt libexpat1-dev bằng cách thực hiện apt-get install libexpat1-dev

+1

Cảm ơn bạn đã thêm điều này! Đó là chính xác những gì tôi cần ngay bây giờ. – rplantiko

0

Tôi chỉ quản lý để cài đặt nó bằng cách tải xuống từ cpan và chỉnh sửa thủ công Makefile.pl bên trong để trỏ chính xác đến EXPATLIBPATHEXPATINCPATH.

Xem this post để biết thêm hướng dẫn chi tiết.

Các vấn đề liên quan