2015-03-04 3 views
2

Pour la messagerie interne, la société pour laquelle je travaille utilise Slack. Il permet une intégration impressionnante avec des tonnes de logiciels et de services différents. Je fais mon propre bot pour envoyer des webhooks à Slack.Perl ne peut pas charger SSLeay.dll car LWP :: Protocol :: https n'est pas installé

J'ai tout mis en place et de travailler, j'ai un script Perl qui envoie une charge utile JSON. Si je déclenche le script manuellement, tout fonctionne parfaitement et mon robot Slack envoie des messages.

Cependant, lorsque le script est déclenché par Finalbuilder (Logiciel pour le traitement de compilation automatique), il échoue. je reçois la réponse suivante:

501 Can't load 'C:/Strawberry/perl/site/lib/auto/Net/SSLeay/SSLeay.dll' for module Net::SSLeay: load_file:The specified module could not be found (LWP::Protocol::https not installed) 

Je pensais que je devais installer le "LWP :: Protocol :: https" module. Je viens d'ouvrir mon client cpan et a écrit install LWP::Protocol::https

Toujours obtenir l'erreur après l'installation du module. Je écrit test LWP::Protocol:https, qui a donné la réponse suivante:

Running test for module 'LWP::Protocol::https' 
Running make for M/MS/MSCHILLI/LWP-Protocol-https-6.06.tar.gz 
Checksum for C:\Strawberry\cpan\sources\authors\id\M\MS\MSCHILLI\LWP-Protocol-https-6.06.tar.gz ok 
Scanning cache C:\Strawberry\cpan\build for sizes 
............................................................................DONE 

    CPAN.pm: Going to build M/MS/MSCHILLI/LWP-Protocol-https-6.06.tar.gz 

Checking if your kit is complete... 
Looks good 
Writing Makefile for LWP::Protocol::https 
Could not read metadata file. Falling back to other methods to determine prerequisites 
cp lib/LWP/Protocol/https.pm blib\lib\LWP\Protocol\https.pm 
    MSCHILLI/LWP-Protocol-https-6.06.tar.gz 
    C:\Strawberry\c\bin\dmake.EXE -- OK 
Running make test 
C:\Strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,'blib\lib', 'blib\arch')" t/*.t 
t/apache.t ....... ok 
t/https_proxy.t .. 1/56 # creating cert for direct.ssl.access 
# creating cert for direct.ssl.access 
# creating cert for foo 
# creating cert for bar 
# creating cert for foo 
# creating cert for foo 
# creating cert for bar 
# creating cert for bar 
t/https_proxy.t .. ok 
All tests successful. 
Files=2, Tests=61, 8 wallclock secs (0.02 usr + 0.01 sys = 0.03 CPU) 
Result: PASS 
    MSCHILLI/LWP-Protocol-https-6.06.tar.gz 
    C:\Strawberry\c\bin\dmake.EXE test -- OK 

je peux déclencher mon script avec des fenêtres CMD, ou FinalBuilder. Les deux fonctionneront très bien, mais lorsque le projet Finalbuilder est activé via Continua CI, j'obtiens l'erreur "can not load ssleay.dll".

Je n'ai aucune idée quoi faire maintenant. Est-ce que quelqu'un sait comment je peux réparer l'erreur Perl?

+0

Les versions actuelles de Strawberry Perl sont déjà livrées avec les modules nécessaires. Utilisez simplement une version plus récente. –

+0

Vous interprétez mal le message d'erreur. LWP signale que LWP :: Protocol :: https n'est pas installé car il a rencontré une erreur lors de la tentative de chargement de LWP :: Protocol :: https. Cette erreur étant celle lancée par Net :: SSLeay: Impossible de charger 'C: /Strawberry/perl/site/lib/auto/Net/SSLeay/SSLeay.dll'. Cela signifie que Net :: SSLeay n'est pas correctement installé. – ikegami

+0

Désolé si ma question est mal posée, je ne suis pas familier avec Perl. J'ai Net-SSLeay-1.68 installé., Et Net :: SSLeay passe le test de cpan. –

Répondre

0

Avez-vous chargé les fichiers d'en-tête? Je ne sais pas ce qu'ils sont pour Windows mais sous Linux, ils sont appelés: libssl-dev et zlib1g-dev

0

J'ai aussi eu cette erreur pendant un certain temps. Dans mon cas, la solution était simple et silencieuse. Il s'est avéré que je n'avais pas redémarré le service SVN, donc lorsqu'il a exécuté le fichier post-commit.bat, l'environnement PATH n'avait pas été mis à jour pour refléter les nouveaux chemins qui avaient été ajoutés lors de l'installation de Perl.

Pendant que je testais, je courais à partir d'une nouvelle fenêtre de console qui avait le chemin correct, mais dès qu'il a couru à partir du fichier de commandes via SVN il s'est cassé, avec exactement la même erreur que vous avez posté.