XML :: Parser拒绝安装

use*_*777 29 perl xml-simple

在过去的两个小时左右,我一直在尝试在Ubuntu 12.10上安装XML :: Simple,并且已经正式用完了想法.它在XML :: Parser中失败了.

我做了一个

sudo apt-get install expat
Run Code Online (Sandbox Code Playgroud)

它仍然无法正常工作.这是我得到的错误:

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
Run Code Online (Sandbox Code Playgroud)

似乎告诉我它无法找到expat.h,但我不确定为什么或如何,考虑到expat安装?我试图使用expat-devel,但它似乎不是apt中的包.任何想法将不胜感激.:)

编辑:我似乎只是试图安装错误的包.-.-这总是小事.非常感谢那些回答的人!

Bee*_*Bee 37

获得@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
Run Code Online (Sandbox Code Playgroud)

结果集中的第三个是您正在寻找的.


Ban*_*jer 19

添加到其他答案,以下是如何在CentOS/RHEL上安装expat依赖项:

yum install expat-devel
Run Code Online (Sandbox Code Playgroud)


Mor*_*kus 14

您需要安装Expat库及其开发标头.对于DebUbuntu,这意味着libexpat1-dev这些发行版经常将它们的库分成两个包:一个用于运行时组件(共享库,数据文件,一般文档),一个用于开发组件(静态库,头文件,开发文档).


Kin*_*oul 5

为了以防万一,使用Debian Jessie我必须libexpat1-dev通过执行来安装apt-get install libexpat1-dev