This addresses a bug for getting Crypt::SSLeay to work in
general (even
for usage in an ordinary perl script). Been there, done
that a few
weeks ago. My problem involves a wrapped executable that
uses it, and
consequently needs libssl.so.0.9.8 and libcrypto.so.0.9.8.
I wanted to
ship my wrapped executable with these libraries wrapped in
so that I can
ship one executable that simply works.
I upgraded to PDK 6.0.2 today, and now running strace on my
wrapped
executable shows that the two libraries are being extracted
into a
process-specific temp dir, but the executable never looks in
that dir
for the libraries, contrary to what 'perlapp --help' says.
Actually,
the help says that LD_LIBRARY_PATH gets appended with the
process-specific temp dir. That would normally affect child
processes
of the wrapped executable, not the wrapped executable
itself, so I
presume that in addition to that the executable does some
magic so that
*it* can find libraries that its Perl modules need.
For now, I'm just going to ship the two libraries with my
executable.
But it really sucks that this doesn't seem to work as
advertised.
-Sandeep
Randall Marbach wrote:
> Check Out
>
> h
ttp://use.perl.org/articles/06/12/17/2325209.shtml
>
> Apparently there are some issues with Crypt::SSLeay
>
> HTH
>
> randy
>
> ----- Original Message ----
> From: Sandeep Tamhankar <sandman electric-cloud.com>
> To: pdk listserv.ActiveState.com
> Sent: Thursday, December 21, 2006 12:52:38 PM
> Subject: Linux, wrapping libssl.so.0.9.8
>
> I have a Linux application that uses Crypt::SSLeay, and
I'd like to wrap
> the dependent libraries libssl.so.0.9.8 and
libcrypto.so.0.9.8. I've
> tried the following, which is based off of similar args
we use when
> wrapping the Windows version of this app:
>
> perlapp --add Crypt::SSLeay --bind
>
libssl.so.0.9.8[file="/usr/local/tools/installer_files/
i686_Linux/openssl-0.9.8d/lib/libssl.so.0.9.8",extract,
mode=766]
> --bind
>
libcrypto.so.0.9.8[file="/usr/local/tools/installer_fil
es/i686_Linux/openssl-0.9.8d/lib/libcrypto.so.0.9.8",ex
tract,mode=766]
>
> --force
> --trim Text::Iconv
> --trim Unicode::Map8
> --lib "../../i686_Linux/foo/bar"
> --lib "../server/src/perl"
> --perl
/usr/local/tools/i686_Linux/ActivePerl-5.8/bin/perl
>
> --exe ../../i686_Linux/foo/bar/bar
../../i686_Linux/foo/bar/bar.pl
>
> If I then remove the /usr/local/tools directory (so
that libssl can't be
> picked up from there at run time), and run the
application, it fails
> like this:
>
> HTTP error:
> 501 (Not Implemented) Protocol scheme 'https' is not
supported
> (Crypt::SSLeay not installed)
> Content-Type: text/plain
> Client-Date: Thu, 21 Dec 2006 20:22:03 GMT
> Client-Warning: Internal response
>
> LWP will support https URLs if the Crypt::SSLeay module
is installed.
> More information at <
http://www.linpro.no/lwp/libwww-perl/README.SSL>.
>
> I ran this through strace, and it never extracts
libssl.so.0.9.8 from
> the executable. It never even looks in the
process-specific temp dir
> for the library, which it's supposed to do according to
the perlapp help
> for the extract sub-option of bind. I've tried this
with and without
> double-quotes in the --bind option and I'm at my wit's
end.
>
> Am I doing something wrong? Is this a bug in perlapp?
Does the extract
> suboption of bind simply not work on Linux? Here's my
perlapp version info:
>
> PerlApp 6.0.1 build 138984
> Copyright (C) 1998-2005 ActiveState Corp. All rights
reserved.
> ActiveState is a division of Sophos Plc.
>
> Any help/advice would be greatly appreciated.
>
> -Sandeep
> _______________________________________________
> PDK mailing list
> PDK listserv.ActiveState.com
> To unsubscribe: http:/
/listserv.ActiveState.com/mailman/mysubs
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam
protection around
> http://mail.yahoo.com
>
_______________________________________________
PDK mailing list
PDK listserv.ActiveState.com
To unsubscribe: http:/
/listserv.ActiveState.com/mailman/mysubs
|