过去两个小时左右,我一直在尝试在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安装?我试图使用expat-devel,但它似乎不是apt中的包。任何想法将不胜感激。 :)
编辑:我似乎只是试图安装错误的软件包。 -.-这总是小事。非常感谢那些回答的人!答案 0 :(得分: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
结果集中的第三个是您正在寻找的。 p>
答案 1 :(得分:19)
添加其他答案,以下是如何在CentOS / RHEL上安装expat依赖项:
yum install expat-devel
答案 2 :(得分:14)
您需要安装Expat库及其开发标头。对于DebUbuntu,这意味着libexpat1-dev
以及那些发行版经常将它们的库分成两个包:一个用于运行时组件(共享库,数据文件,一般文档),一个用于开发组件(静态库,头文件,开发文档)。
答案 3 :(得分:5)
以防万一,使用Debian Jessie我必须通过执行libexpat1-dev
来安装apt-get install libexpat1-dev
答案 4 :(得分:0)
我只是通过从cpan下载并手动编辑内部Makefile.pl
以正确指向EXPATLIBPATH
和EXPATINCPATH
来设置安装。
有关详细说明,请参阅this post。