web-dev-qa-db-fra.com

ListUtil.c: bibliothèque chargeable et binaires Perl ne correspondent pas (clé de prise de contact obtenue 0xdb00080, nécessaire 0xdb80080)

Pour une raison quelconque, chaque fois que j'exécute un module Perl (comme cpanm), j'ai reçu cette réponse:

ListUtil.c: loadable library and Perl binaries are mismatched (got         
handshake key 0xdb00080, needed 0xdb80080)

Je ne sais pas pourquoi cela se produit. Il ne semble pas y avoir de trace de pile supplémentaire, et même s'il y a eu de nombreux rapports de bogues et questions sur cette erreur, je n'ai pas pu trouver de solution. J'utilise Ubuntu 17.04.

Edit: j'exécute l'installation par défaut de Perl fournie avec Ubuntu.

15
javathunderman

Cela peut se produire lorsque les modules Perl ou Perl sont installés séparément à côté des packages officiels. La variable d'environnement peut être utilisée pour basculer vers une autre installation Perl.

Pour savoir si c'est le cas, exécutez:

env | grep Perl

Ayant Perl5LIB ou Perl_LOCAL_LIB_ROOT dans la sortie peut provoquer le problème. Essayez de désactiver les variables d'environnement et supprimez-les de votre ~/.bashrc fichier ou fichier rc Shell équivalent.

14
Bert Hekman

Dérivé de Bert Hekman, a répondu le 5 juillet à 8h22:

env Perl5LIB= Perl_LOCAL_LIB_ROOT= cpan

a fait l'affaire pour moi comme une solution rapide et sale.

2
JensE

Ok, il s'avère qu'un redémarrage a fait l'affaire. Je suppose que j'aurais dû l'éteindre et l'allumer avant de poster ici ...

0
javathunderman