2012-12-21 39 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