29

在过去两个小时左右的时间里,我一直在尝试在 Ubuntu 12.10 上安装 XML::Simple 并且已经完全没有想法了。它在 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,但我不确定为什么或如何,考虑到 expat 已安装?我试图 apt expat-devel,但它似乎不是 apt 中的一个包。任何想法将不胜感激。:)

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

4

5 回答 5

38

获得@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

结果集中的第三个就是您要查找的内容。

于 2012-12-21T11:38:32.997 回答
19

除了其他答案,这里是如何在 CentOS/RHEL 上安装 expat 依赖项:

yum install expat-devel
于 2013-05-10T12:14:17.380 回答
14

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

于 2012-12-21T09:37:20.597 回答
5

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

于 2016-04-01T13:54:08.287 回答
0

我只能通过从 cpan 下载并手动编辑Makefile.pl内部以正确指向EXPATLIBPATHand来安装它EXPATINCPATH

有关更详细的说明,请参阅此帖子

于 2017-06-08T16:47:22.143 回答