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