perl - XML:: Parser se niega a instalar
xml-simple (5)
He intentado instalar XML :: Simple en Ubuntu 12.10 durante las últimas dos horas y me he quedado sin ideas. Está fallando en XML :: Parser.
He hecho un
sudo apt-get install expat
y todavía no funcionó. Aquí está el error que he estado recibiendo:
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
Parece estar diciéndome que no puede encontrar expat.h, pero no estoy seguro de por qué o cómo, teniendo en cuenta que expat está instalado. Intenté expandir-desarrollar, pero parece que no es un paquete en apt. Cualquier idea sería muy apreciada. :)
EDITAR: Parecía que simplemente había intentado instalar el paquete incorrecto. -.- Siempre son las pequeñas cosas. Muchas gracias a los que respondieron!
Agregando a las otras respuestas, aquí está cómo instalar la dependencia de expats en CentOS / RHEL:
yum install expat-devel
Necesita instalar la biblioteca Expat y sus encabezados de desarrollo. Para DebUbuntu esto significa que libexpat1-dev
y esas distribuciones a menudo dividen sus bibliotecas en dos paquetes: uno para los componentes de tiempo de ejecución (bibliotecas compartidas, archivos de datos, documentación general), uno para los componentes de desarrollo (bibliotecas estáticas, archivos de cabecera, documentación de desarrollo )
Otra forma de llegar a la misma información que @Moritz Bunkus ha señalado anteriormente.
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
El tercero en el conjunto de resultados es lo que estás buscando.
Por si acaso, con Debian Jessie tuve que instalar libexpat1-dev
ejecutando apt-get install libexpat1-dev
Solo logré instalarlo descargándolo desde cpan y editando manualmente el Makefile.pl
dentro para apuntar correctamente a EXPATLIBPATH
y EXPATINCPATH
.
Vea esta publicación para obtener instrucciones más detalladas.