2012-12-21 69 views
26

我一直在嘗試在Ubuntu 12.10上安裝XML :: Simple過去兩個小時左右,並且正式用完了想法。它在XML :: Parser上失敗。XML :: Parser拒絕安裝

我做了一個

sudo apt-get install expat 

,它仍然沒有工作。這裏的錯誤我已經得到:

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 

似乎是在告訴我,這是無法找到expat.h,但我不知道爲什麼或如何,考慮到外籍安裝?我試圖apt-expvel,但它似乎不是apt中的一個包。任何想法將不勝感激。 :)

編輯:我似乎一直只是試圖安裝錯誤的軟件包。 - 這總是小事情。非常感謝那些回答!

+0

爲什麼不試試簡單和直接的 perl -MCPAN -e'install XML :: Simple' – Samih3

+0

是的,這就是我一直在嘗試和在哪裏我得到這些錯誤。對不起,應該已經更清楚了。現在全部解決!謝謝! – user1496777

回答

32

另一種獲得@Moritz Bunkus上面指出的相同信息的方法。

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 

結果集中的第三個是你正在尋找的。

+1

對我來說,科學的Linux我不得不安裝「expat-devel」,因爲在libexpat上yum搜索只顯示了一個node.js綁定。感謝帖子,expat-devel讓我走了,現在我可以安裝我的perl deps(XML :: RSS)! – Kasapo

14

您需要安裝Expat庫及其開發頭文件。對於DebUbuntu,這意味着libexpat1-dev以及那些發行版通常將它們的庫分成兩個包:一個用於運行時組件(共享庫,數據文件,一般文檔),一個用於開發組件(靜態庫,頭文件,開發文檔)。

+0

+1。我剛剛在下面添加了一條評論,以突出如何在Ubuntu上實現它。 – Bee

17

添加到其他的答案,這裏是如何安裝在CentOS/RHEL的外籍依賴性:

yum install expat-devel 
+0

在CentOS 7上爲我工作。如果您更喜歡'dnf',也可以使用'dnf install expat-devel'。 –

5

以防萬一,使用Debian傑西我不得不執行apt-get install libexpat1-dev

+1

感謝您加入!這正是我現在需要的。 – rplantiko

0

我安裝libexpat1-dev只通過從cpan下載並手動編輯Makefile.pl以正確指向EXPATLIBPATHEXPATINCPATH來安裝它。

有關更多詳細說明,請參閱this post