RE: LWP::Protocol::https

RAPPAZ Francois via par <[email protected]>
Newsgroups gmane.comp.lang.perl.par
Message-ID <[email protected]>
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:[email protected]]
Sent: 22 August 2017 22:43
To: RAPPAZ Francois <[email protected]>
Cc: [email protected]
Subject: Re: LWP::Protocol::https

On Tue, Aug 22, 2017 at 9:55 AM, RAPPAZ Francois via par <[email protected]<mailto:[email protected]>> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.