Mistery solved…

I was using –I path_to_the_dll/foo.dll (upercase i) instead of –l (lower case 
l) to include the dll…

With a ppoptions_file.txt having

-l C:/strawberry/c/bin/libeay32_.dll
-l C:/strawberry/c/bin/ssleay32_.dll
-l C:/strawberry/c/bin/zlib1_.dll

foo.pl with
use strict;
use warnings;
use LWP::UserAgent;
print LWP::UserAgent->new()->get("https://www.google.com";)->content

pp @ppoptions_file.txt -o foo.exe -x foo.pl

works when my perl file hierarchy is removed from the path.

And my first script involving the modules
-M PerlIO
-M PerlIO::scalar
-M Storable
-l C:/strawberry/c/bin/libeay32_.dll
-l C:/strawberry/c/bin/ssleay32_.dll
-l C:/strawberry/c/bin/zlib1_.dll
Works also

Thanks for helping !!

François

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

On Tue, Aug 22, 2017 at 9:55 AM, RAPPAZ Francois via par 
<par@perl.org<mailto:par@perl.org>> wrote:
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<http://reroid.pl> line 
21.


I just checked Strawberry 5.24.2.1 and it turns out that c/bin/libeay32_.dll is 
linked against zlib1_.dll, so you should "--link" that, too.

Please check what actually got packed (and with what path) into your executable 
by running something like "unzip -l" on it.


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.

Weird. Do you have that file in an environment variable, e.g. 
PERL_LWP_SSL_CA_FILE or  HTTPS_CA_FILE?

Cheers, Roderich

Reply via email to