My verions of perl is 5.24,
PAR::Packer :  1.037
Module::Scan::Deps: 1.22

Running
U:\>objdump -ax C:\strawberry\perl\vendor\lib\auto\Net\SSLeay\SSLeay.xs.dll | 
grep "DLL Name"
gives
        DLL Name: msvcrt.dll
        DLL Name: KERNEL32.dll
        DLL Name: LIBEAY32_.dll
        DLL Name: SSLEAY32_.dll
        DLL Name: perl524.dll
And my modules list is now
-M PerlIO
-M PerlIO::scalar
-M Storable
-I C:\strawberry\c\bin\libeay32_.dll
-I C:\strawberry\c\bin\ssleay32_.dll

Running the exe still gives an error when perl is removed from my path

Error GETing https://services.rero.ch/item/1001528198/rero-number: Can't load 
'C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-9942ab0986081e5dff470e0df2c8c9c1ba12bd73\cb0163b7.xs.dll'
 for module Net::SSLeay: load_file:The specified module could not be found 
(LWP::Protocol::https not installed) at script/reroid.pl line 21.

Running
pp -o foo.exe -E "use LWP::UserAgent; say 
LWP::UserAgent->new()->get('https://www.google.com')->content;"

works but foo.exe alone crash with
SSL_ca_file U:\docs\perl\etiquettes_explores does not exist at IO/Socket/SSL.pm 
line 399.

François


From: Roderich Schupp [mailto:roderich.sch...@gmail.com]
Sent: 22 July 2017 18:55
To: RAPPAZ Francois <francois.rap...@unifr.ch>
Cc: par@perl.org
Subject: Re: LWP::Protocol::https

On Fri, Jul 21, 2017 at 2:29 PM, RAPPAZ Francois via par 
<par@perl.org<mailto:par@perl.org>> wrote:
Run on a pc without perl installed I'm getting the error
Error GETing https://services.rero.ch/item/1001528198/rero-number: Can't load 
'C:\Users\zinaouih\AppData\Local\Temp\par-7a696e616f756968\cache-d34012c84b0014f269b7080f9a8969871097584f\cb0163b7.xs.dll'
 for module Net::SSLeay: load_file:Le module specifie est introuvable 
(LWP::Protocol::https not installed) at script/reroid.pl<http://reroid.pl> line 
18.

Which version of perl, PAR::Packer and Module::ScanDeps are you using?

I can't reproduce this (Linux, perl 5.24.1, PAR::Packer 1.037, Module::ScanDeps 
1.23) with a naive

pp -o foo.exe -E 'use LWP::UserAgent; say 
LWP::UserAgent->new()->get("https://www.google.com";)->content;'

(I double-checked that running foo.exe doesn't use any installed perl stuff).
The problem is probably Net/SSLeay/SSLeay.xs.dll which most likely links 
against some libssl*.dll and libcrypto*.dll (from OpenSSL).
You can check this with

objdump -ax .../Net/SSLeay/SSLeay.xs.dll | grep "DLL Name"

Find these and include them with "-I".

On a side note: your module list looks partially bogus to me

-l C:/strawberry/perl/lib/auto/PerlIO/scalar/scalar.xs.dll
-l C:/strawberry/perl/lib/auto/Storable/Storable.xs.dll

It's never necessary to explicitly include the "glue" DLLs for a perl module if 
the module itself is included implicitly or explicitly as with

-M PerlIO/scalar.pm<http://scalar.pm>
-M Storable.pm

And these are always included:

-M PerlIO.pm
-M PerlIO/scalar.pm<http://scalar.pm>

The "-M Foo/Bar.pm" syntax is deprecated, please use "-M Foo::Bar".

Cheers, Roderich

Reply via email to