Comment Installer XML:: Parser sans expat-devel?
XML:: Parser ne parvient pas à construire sur une toute nouvelle boîte Debian 64 bits. Après avoir émis cpan XML::Parser
, cpan échoue avec beaucoup d'erreurs sur Expat.c et les Expatriés.xs:
[...]
Expat.xs:2182: error: ‘CallbackVector’ has no member named ‘skip_until’
Expat.c: In function ‘XS_XML__Parser__Expat_Do_External_Parse’:
Expat.c:2904: error: ‘XML_Parser’ undeclared (first use in this function)
Expat.c:2904: error: expected ‘;’ before ‘parser’
Expat.xs:2194: error: ‘parser’ undeclared (first use in this function)
make[1]: *** [Expat.o] Error 1
make[1]: Leaving directory `/root/.cpan/build/XML-Parser-2.41-rpV6ok/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
Message au début de la sortie explique que expat-devel est nécessaire pour la construction.
Expatrié doit être installé avant de procéder à la construction de XML::Parser et je ne trouve pas dans la bibliothèque standard des répertoires. Installer 'expat-devel' paquet avec votre Gestionnaire de paquets OS. Voir "README".
mais expat-devel n'est pas dans le dépôt Debian.
est-il possible de surmonter cela sans avoir besoin de construire/installer expat à partir de la source?
6 réponses
le paquet que vous voulez installer s'appelle libexpat1-dev
. Vous pouvez aussi installer libxml-parser-perl
via apt-get. Ou si vous voulez vraiment installer via CPAN, essayez d'abord d'installer les dépendances des paquets Debian via apt-get build-dep libxml-parser-perl
.
libexpat1-dev contient à la fois libexpat et expat.h, qui sont tous deux mentionnés dans le message aussi bien:
si expat est installé, mais dans un répertoire non standard, alors utiliser le les options suivantes pour Makefile.PL:
EXPATLIBPATH=... Pour définir le répertoire dans lequel trouver libexpat
EXPATINCPATH=... Pour définir le répertoire dans lequel les expatriés.h
installer libexpat1-dev semble résoudre le problème:
$ aptitude install libexpat1-dev
il y a toujours la méthode manuelle - pour construire/installer expat à partir de la source. (Cet exemple montre l'installation à un autre endroit pour XAMPP / LAMPP )
télécharger à partir: http://sourceforge.net/projects/expat/files/expat /
tar zxf /[where-ever]/expat-2.1.0.tar.gz -C /tmp
cd /tmp/expat-2.1.0
/opt/lampp/bin/perl ./configure --prefix=/opt/lampp LDFLAGS=-L/opt/lampp/lib
make
make install
http://search.cpan.org - recherche et téléchargement - XML:: Parser
tar zxf /[where-ever]/XML-Parser-2.41.tar.gz -C /tmp
cd /tmp/XML-Parser-2.41
/opt/lampp/bin/perl ./Makefile.PL EXPATLIBPATH=/opt/lampp/lib EXPATINCPATH=/opt/lampp/include
make
make test
make install
fonctionne comme un charme dans Ubuntu 15.04. La seule chose dont j'ai besoin est d'installer Perl XML Parser avec:
sudo apt-get install libxml-parser-perl
et en suivant les instructions ici, j'ai pu importer avec succès toutes mes évaluations dans Rhythmbox. Maintenant, le seul travail que je dois faire est de créer à nouveau les listes de lecture intelligentes, qui n'est rien comparé à l'ensemble de mes évaluations libray.
Aujourd'hui, j'ai eu le même problème voulant compliquer le nouveau GIMP 2.9.4 beta sur OSX 10.8 et l'aide de homebrew.
première installation perl
brew install perl
puis le module XML:: Parser en entrant dans le shell perl avec
perl -MCPAN -e shell
et à l'intérieur du shell Installer XML:: analyseur en tapant
install XML::Parser
Sortie shell
exit
maintenant, Vérifiez qu'il a été installé réussi. Si tout va bien, vous ne verrez pas d'erreur.
perl -e "require XML::Parser"
si le ./ configure échoue toujours manquant XML:: Parser, alors intltools n'utilise pas la perl que vous avez installée. En regardant le script, je vois qu'il fait le test avec $INTLTOOL_PERL -e "require XML::Parser"
. Essayer un echo $INTLTOOL_PERL
n'a rien donné, donc la magie est de le mettre avec
export $INTLTOOL_PERL=perl
courez ./configurer à nouveau.
aucune des méthodes ci-dessus n'a fonctionné pour moi. J'avais la bonne configuration des variables d'environnement mais elles n'ont pas été récupérées par cpanm
que j'utilise pour installer les modules perl. Expat a également été installé.
voici ce que j'ai fait pour surmonter le même problème que L'OP rapporte. C'est très proche de ce que suggère @LadyBuzz .
- Téléchargez le
XML::Parser
decpan.org
- extraire le tarball dans le répertoire et descendre à elle.
- ouvrir le
Makefile.pl
et éditer les premières lignes pour avoir réellement les chemins absolus à la fois:EXPATLIBPATH
etEXPATINCPATH
- Enregistrer
Makefile.pl
, remonter d'un niveau et de créer une archive avec leMakefile.pl
que vous venez de modifier. - Exécuter
cpanm
sur le nouvellement créé archive.
installation réussie du module.