Je travaillais sur un nouvel outil aujourd'hui où j'ai rencontré un petit problème lors de l'exécution de certains tests à l'aide d'un script Perl dans ma boîte Ubuntu installée à l'aide d'Oracle Virtual Box.
En gros, l'erreur affichée était "Impossible de localiser XML/LibXML.pm dans @INC" et ressemblait à ceci :
Impossible de localiser XML/LibXML.pm dans @INC (vous devrez peut-être installer le module XML::LibXML) (@INC contient :/etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22 .1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr /share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) à ./run_test.pl ligne 15.
BEGIN a échoué - la compilation a été abandonnée à . /run_test.pl ligne 15.
Comme l'erreur indiquait la solution, j'ai essayé d'installer le module LibXML Perl en utilisant la commande ci-dessous :
sudo cpan install XML::LibXML
Mais cette commande a rencontré un autre problème. La sortie complète est la suivante :
Chargement de l'enregistreur nul interne. Install Log::Log4perl for logging messages
Lecture '/home/abhi/.cpan/Metadata'
La base de données a été générée le jeudi 23 mars 2017 à 09:41:02 GMT
Installation en cours pour module 'XML::LibXML'
Somme de contrôle pour /home/abhi/.cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0129.tar.gz ok
'YAML' non installé, ne stockera pas l'état persistant
Configuration de S/SH/SHLOMIF/XML-LibXML-2.0129.tar.gz avec Makefile.PL
activer le perl UTF8 natif
l'exécution de xml2-config…didn n'arrive pas à obtenir la configuration de libxml2, en devinant
les options :
LIBS='-L/usr/local/lib -L/usr/lib -lxml2 -lm'
INC='-I /usr/local/include -I/usr/include'
Si cela est faux, réexécutez en tant que :
$ /usr/bin/perl Makefile.PL LIBS='-L/path/to /lib' INC='-I/chemin/vers/include'Vérification de la capacité à établir un lien avec xml2… non
Vérification de la capacité à établir un lien avec libxml2… libxml2, zlib et/ou la bibliothèque Math (-lm) n'ont pas été trouvés.
Essayez de définir les valeurs LIBS et INC sur la ligne de commande
Ou obtenez libxml2 à partir de
http://xmlsoft.org/
Si vous installez via des RPM, assurez-vous d'installer également le -devel
RPM, car c'est là que se trouvent les en-têtes (fichiers .h).Aussi, vous pouvez essayer d'exécuter perl Makefile.PL avec le paramètre DEBUG=1
pour voir la raison exacte pour laquelle la détection de l'installation de libxml2
a échoué ou pourquoi Makefile.PL n'a pas pu compiler un programme de test .
Aucun 'Makefile' créé SHLOMIF/XML-LibXML-2.0129.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site — PAS OK
Le correctif n'est pas très compliqué, mais cela peut prendre un certain temps pour le comprendre. Dans cette astuce rapide, je vais vous montrer comment installer le module LibXML sur Ubuntu ou toute autre distribution Linux basée sur Ubuntu.
Comment installer le module LibXML Perl sur Ubuntu Linux
J'ai mis en évidence la raison de l'échec de l'installation de LibXML dans la sortie d'erreur ci-dessus. C'est très clair en soi :
La vérification de la possibilité d'établir un lien avec libxml2… libxml2, zlib et/ou la bibliothèque Math (-lm) n'a pas été trouvée.
Il manque clairement au système les bibliothèques libxml2 et zlib. Pour résoudre ce problème, il vous suffit d'installer les bibliothèques requises à l'aide de la commande ci-dessous :
sudo apt-get install zlib1g-dev libxml2-dev
Une fois que vous avez installé thlibrarieses, continuez et installez le module LibXML Perl de la manière habituelle :
sudo cpan install XML::LibXML
C'est ça. J'espère que ce rapide vous a aidé à résoudre les petits problèmes liés à l'installation du module LibXML sur Ubuntu 16.04 et d'autres versions.