XML:: Parser отказывается устанавливать
Я пытаюсь установить XML:: Simple на Ubuntu 12.10 в течение последних двух часов или около того, и у нас официально закончились идеи. Ошибка в 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. Любые идеи очень приветствуются.:)
EDIT: Я, казалось, просто пытался установить неправильный пакет. -Это всегда мелочи. Большое спасибо тем, кто ответил!
Ответы
Ответ 1
Еще один способ получить ту же информацию, которую указал @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
Третий в результирующем наборе - это то, что вы ищете.
Ответ 2
Добавляя к другим ответам, здесь, как установить зависимость expat от CentOS/RHEL:
yum install expat-devel
Ответ 3
Вам необходимо установить библиотеку Expat и ее заголовки разработки. Для DebUbuntu это означает libexpat1-dev
, а также эти дистрибутивы часто разделяют свои библиотеки на два пакета: один для компонентов времени выполнения (разделяемые библиотеки, файлы данных, общая документация), один для компонентов разработки (статические библиотеки, заголовочные файлы, документация для разработки).
Ответ 4
На всякий случай, используя Debian Jessie, мне пришлось установить libexpat1-dev
, выполнив apt-get install libexpat1-dev
Ответ 5
Мне удалось установить его, загрузив его из cpan и вручную отредактировав Makefile.pl
внутри, чтобы правильно указывать на EXPATLIBPATH
и EXPATINCPATH
.
Подробнее см. этот пост.