in reply to Again with PAR::Packer troubles
and you'll get this from a.exeuse IO::Socket::SSL qw(debug99);
DEBUG: IO/Socket/SSL.pm:1213: Invalid certificate authority locationse +rror:02001003:system library:fopen:No such process SSL error: 1724: 1 - error:2006D080:BIO routines:BIO_new_file:no such + file SSL error: 1724: 2 - error:0B084002:x509 certificate routines:X509_lo +ad_cert_crl_file:system lib
Problem, PAR doesn't know about C:\perl\site\5.14.1\lib\Mozilla\CA\cacert.pem, it doesn't pack it along with C:\perl\site\5.14.1\lib\Mozilla\CA.pm
Solution, add the file with
-a "C:\perl\site\5.14.1\lib\Mozilla\CA\cacert.pem;cacert.pem"
then in your .pl tell LWP about it
$ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catdir( $ENV{PAR_TEMP}, 'cacert.pem');
update: After testing, I see cacert.pem doesn't end up in root, so you'd have to something like
$ENV{PERL_LWP_SSL_CA_FILE} = File::Spec->catdir( $ENV{PAR_TEMP}, qw[ i +nc perl site 5.14.1 lib Mozilla CA cacert.pem ] );
Or specify a path where to install, like
-a "C:\perl\site\5.14.1\lib\Mozilla\CA\cacert.pem;/cacert.pem"
forget it, you'd have to use PAR::read_file for it to get unpacked, bah caveats
If Mozilla::CA had used File::ShareDir, you would simply add use File::ShareDir::PAR; to your .pl and it would just work
So, the bugs are as follows
- IO::Socket::SSL doesn't give a useful error message to LWP::Protocol::https, so LWP can't give you a useful error message -- you shouldn't need debuging to learn which critical/fatal error occurred
- Mozilla::CA doesn't use File::ShareDir
- PAR doesn't automagically add File::ShareDir::PAR when it detects File::ShareDir
- File::ShareDir::PAR is still experimental :)
- PAR doesn't have an option to detect/pack ssleay32.dll libeay32.dll
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Again with PAR::Packer troubles
by jellisii2 (Hermit) on Aug 17, 2011 at 14:30 UTC | |
by stokan (Initiate) on Feb 08, 2014 at 05:53 UTC |