2012-12-21 25 views
26

Próbowałem zainstalować XML :: Simple na Ubuntu 12.10 przez ostatnie dwie godziny i oficjalnie zabrakło pomysłów. To nie działa w XML :: Parser.XML :: Parser odmawia instalacji

Robiłem to

sudo apt-get install expat 

i nadal nie działa. Tutaj jest błąd Byłem coraz:

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 

wydaje się mi powiedzieć, że jest w stanie znaleźć expat.h, ale nie jestem pewien, dlaczego i w jaki sposób, biorąc pod uwagę Expat jest zainstalowany? Próbowałem dostosować expat-devel, ale wygląda na to, że nie jest to pakiet w apt. Wszelkie pomysły będą mile widziane. :)

EDIT: Wydawało mi się, że po prostu próbowałem zainstalować niewłaściwy pakiet. -.- To zawsze małe rzeczy. Wielkie dzięki dla tych, którzy odpowiedzieli!

+0

Dlaczego nie wypróbować prostego i bezpośredniego perl -MCPAN -e "zainstaluj XML :: Simple" – Samih3

+0

Tak, właśnie tego próbowałem i skąd brałem te błędy. Przepraszam, powinny być bardziej jasne. Wszystko już rozwiązane! Dziękuję Ci! – user1496777

Odpowiedz

32

Innym sposobem na uzyskanie tych samych informacji, które @Moritz Bunkus wskazał powyżej.

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 

Trzeci w zestawie wyników jest to, czego szukasz.

+1

dla mnie na naukowym linuksie musiałem do "expat-devel", ponieważ wyszukiwanie yum na libexpat ujawniło tylko wiązanie node.js. Dzięki za post, expat-devel mnie uruchomił, a teraz mogę zainstalować moje depl deps (XML :: RSS)! – Kasapo

14

Musisz zainstalować bibliotekę Expat i jej nagłówki programistyczne. Dla DebUbuntu oznacza to, że libexpat1-dev, a także te dystrybucje często dzielą swoje biblioteki na dwa pakiety: jeden dla komponentów środowiska wykonawczego (biblioteki współdzielone, pliki danych, ogólna dokumentacja), jeden dla komponentów programistycznych (biblioteki statyczne, pliki nagłówkowe, dokumentacja programistyczna).

+0

+1 do tego. Właśnie dodałem komentarz poniżej, aby wskazać, jak dostać się do niego na ubuntu. – Bee

17

Dodawanie do innych odpowiedzi, oto jak zainstalować zależność expat na CentOS/RHEL:

yum install expat-devel 
+0

Praca dla mnie na CentOS 7. Można również użyć 'dnf install expat-devel' jeśli wolisz' dnf'. –

5

Tylko w przypadku, używając Debiana Jessie musiałem zainstalować libexpat1-dev wykonując apt-get install libexpat1-dev

+1

Dziękujemy za dodanie! Właśnie tego teraz potrzebowałem. – rplantiko

0

I tylko udało się go zainstalować, pobierając go z cpan i ręcznie edytując wewnątrz Makefile.pl, aby poprawnie wskazywać na EXPATLIBPATH i EXPATINCPATH.

Aby uzyskać bardziej szczegółowe instrukcje, patrz this post.