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:[email protected]]
Sent: 22 July 2017 18:55
To: RAPPAZ Francois <[email protected]>
Cc: [email protected]
Subject: Re: LWP::Protocol::https
On Fri, Jul 21, 2017 at 2:29 PM, RAPPAZ Francois via par
<[email protected]<mailto:[email protected]>> 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