Hello,

I'm relatively new to Perl and PP but am hoping someone can point me in the right direction. I'm trying to create a completely self-contained Perl executable using pp. I'm running pp on a CentOS box:

pp -o client.out client.pl
client.out then runs fine on the CentOS box. However if I move client.out over to a SUSE box, it complains of not being able to find DynaLoader:

# ./client.out Can't load '/tmp/par-root/cache-12f562c1eb5356c7f67e68c6c9c351689d3bc6 +15/b5c569c9.so' for module Crypt::SSLeay: libssl.so.6: cannot open sh +ared object file: No such file or directory at /usr/lib64/perl5/5.8.8 +/x86_64-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib/perl5/site_perl/5.8.8/PAR/Heavy.pm line 75 Compilation failed in require at ABRA/Host/API.pm line 10. BEGIN failed--compilation aborted at ABRA/Host/API.pm line 10. Compilation failed in require at ABRA/Host.pm line 10. BEGIN failed--compilation aborted at ABRA/Host.pm line 10. Compilation failed in require at script/abra-client.pl line 80. BEGIN failed--compilation aborted at script/abra-client.pl line 80. #

If I run the pp command on SUSE, the executable works fine on the SUSE box. I'm thinking based on that error that it's a problem with finding the shared library DynaLoader.pm which resides in a different directory on SUSE than on CentOS (although I tried sym linking and that didn't seem to fix the issue). However, I'd like it to not use shared libraries at all and be completely self-contained even if Perl wasn't installed on the box.

When unzipping the client.out (since it appears pp just zips it up) it looks like everything is there:

... inflating: lib/Crypt/SSLeay.pm inflating: lib/Crypt/SSLeay/CTX.pm inflating: lib/Crypt/SSLeay/Conn.pm inflating: lib/Crypt/SSLeay/Err.pm inflating: lib/Crypt/SSLeay/MainContext.pm inflating: lib/Crypt/SSLeay/X509.pm ... inflating: lib/DynaLoader.pm ...

However it doesn't seem to be using that and still goes after a shared library.

Any help would be appreciated!


In reply to pp and shared libraries by tudobem

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.