Je cherche à comprendre pourquoi un module Perl ne s'installe pas sur mon serveur.
cpanm WWW::Mechanize
Il traite des choses pendant longtemps, puis finit par mourir avec :
root@admin:~# cpanm WWW::Mechanize
--> Working on WWW::Mechanize
Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/WWW-Mechanize-1.90.tar.gz ... OK
Configuring WWW-Mechanize-1.90 ... OK
Building and testing WWW-Mechanize-1.90 ... FAIL
! L'installation de WWW::Mechanize a échoué. Voir /root/.cpanm/work/1543994046.20570/build.log pour plus de détails. Réessayez avec --force pour forcer l'installation.
Le fichier journal contient des choses comme ceci :
t/00-report-prereqs.t .................... ok
t/add_header.t ........................... ok
t/aliases.t .............................. ok
t/area_link.t ............................ ok
t/autocheck.t ............................ ok
t/bad-request.t .......................... ok
t/clone.t ................................ ok
t/content.t .............................. ok
# Test server http://127.0.0.1:31546 as PID 20661
t/cookies.t .............................. ok
t/credentials-api.t ...................... ok
t/credentials.t .......................... ok
t/die.t .................................. ok
t/dump.t ................................. ok
t/field.t ................................ ok
t/find_frame.t ........................... ok
t/find_image.t ........................... ok
t/find_inputs.t .......................... ok
t/find_link-warnings.t ................... ok
t/find_link.t ............................ ok
t/find_link_id.t ......................... ok
t/form-parsing.t ......................... ok
t/form_with_fields.t ..................... ok
t/form_with_fields_passthrough_params.t .. ok
t/frames.t ............................... ok
# Échec du test '... et il a été enregistré dans l'historique'
# at t/history.t line 131.
# got: '3'
# expected: '2'
# On dirait que vous avez échoué à 1 test sur 28.
t/history.t ..............................
Douteux, le test a renvoyé 1 (wstat 256, 0x100)
Échec 1/28 sous-tests
t/image-new.t ............................ ok
t/image-parse.t .......................... ok
t/link-base.t ............................ ok
t/link-relative.t ........................ ok
t/link.t ................................. ok
t/local/back.t ........................... ok
t/local/click.t .......................... ok
t/local/click_button.t ................... ok
# Exécution des tests contre http://127.0.0.1:50871/?xml=1
t/local/content.t ........................ ok
t/local/encoding.t ....................... ok
t/local/failure.t ........................ ok
t/local/follow.t ......................... ok
t/local/form.t ........................... ok
t/local/get.t ............................ ok
t/local/nonascii.t ....................... ok
t/local/overload.t ....................... skipped: Se sont arrêtés de passer de manière mystérieuse, et je ne sais pas pourquoi.
t/local/page_stack.t ..................... ok
t/local/post.t ........................... ok
t/local/referer.t ........................ ok
t/local/reload.t ......................... ok
t/local/submit.t ......................... ok
t/mech-dump/mech-dump.t .................. ok
t/new.t .................................. ok
t/regex-error.t .......................... ok
t/save_content.t ......................... ok
t/select.t ............................... ok
t/taint.t ................................ skipped: Test::Taint requis pour vérifier les valeurs altérées
t/tick.t ................................. ok
t/untaint.t .............................. ok
t/upload.t ............................... ok
t/uri.t .................................. ok
t/warn.t ................................. ok
t/warnings.t ............................. ok
Rapport de résumé des tests
-------------------
t/history.t (Wstat: 256 Tests: 28 Echecs: 1)
Test en échec : 23
Statut de sortie non nul : 1
Fichiers=59, Tests=752, 1241 secondes de temps de mur ( 0.29 usr 0.08 sys + 11.13 cusr 1.60 csys = 13.10 CPU)
Résultat : FAIL
Échec de 1/59 programmes de test. 1/752 sous-tests échoués.
Makefile:946: recette pour la cible 'test_dynamic' échouée
make: *** [test_dynamic] Erreur 255
-> FAIL L'installation de WWW::Mechanize a échoué. Voir /root/.cpanm/work/1543994046.20570/build.log pour plus de détails. Réessayez avec --force pour forcer l'installation.
Je vois cela dedans, mais je ne suis pas sûr de ce que cela signifie :
# Échec du test '... et il a été enregistré dans l'historique'
# at t/history.t line 131.
# got: '3'
# expected: '2'
# On dirait que vous avez échoué à 1 test sur 28.
t/history.t ..............................
Douteux, le test a renvoyé 1 (wstat 256, 0x100)
Échec 1/28 sous-tests
Des suggestions ? J'ai besoin de ce module pour un autre module que j'essaie d'installer :/
0 votes
Pouvez-vous exécuter le test verbeux et ajouter la sortie?
0 votes
Est-ce que la version
WWW::Mechanize
fournie dans les dépôts Ubuntu (1.75) est trop ancienne?0 votes
@choroba comment pourrais-je faire cela ? Je utilise simplement le
cpanm
de base actuellement (au lieu deperl -MCPAN ...
)0 votes
@AnFi Je ne suis pas sûr de ce que tu veux dire. Est-ce que tu dis que 1.75 est inclus en standard avec Ubuntu 1.75?
0 votes
Oui. Voir packages.ubuntu.com/xenial/libwww-mechanize-perl => Package: libwww-mechanize-perl (1.75-1)
0 votes
@AnFi merci - ça a marché! Pourriez-vous s'il vous plaît le mettre en tant que réponse, pour que je puisse l'accepter?
1 votes
Ne téléchargez pas quoi que ce soit depuis CPAN si cela est déjà empaqueté pour votre distribution et que vous n'avez pas absolument besoin d'une version plus récente.
0 votes
@MichaelHampton merci. Je viens de utiliser cpan car c'est plus facile que d'essayer de trouver les versions de distribution. Je ne saurais même pas où chercher? (Je n'ai essayé celui-ci que parce qu'il m'avait été suggéré)
2 votes
Pas sûr de Debian/Ubuntu. Sur les systèmes basés sur Red Hat, vous pouvez simplement interroger
yum whatprovides 'perl(WWW::Mechanize)'
et il vous dira quel package installer.0 votes
@MichaelHampton merci pour ça. Malheureusement, je n'ai pas "yum" sur le serveur (et il semble un peu excessif de l'installer juste pour exécuter cette commande :))
1 votes
Eh bien, vous pouvez toujours vous débarrasser d'Ubuntu :)
0 votes
@MichaelHampton haha. Eh bien, la principale raison pour laquelle j'ai choisi cela, c'était à cause des nouvelles fonctionnalités HTTP2 qu'ils ont supportées avec nginx. Et pour être honnête, maintenant je n'ai vraiment pas envie de réapprendre / reconstruire tout le serveur avec autre chose :) (J'ai passé des semaines et des semaines à créer un script bash pour construire de nouveaux serveurs avec un minimum de tracas, donc je pouvais les faire rapidement ;) )