http://www.perlmonks.org?node_id=252046

perlknight has asked for the wisdom of the Perl Monks concerning the following question:

All, net ssh perl pukes out these error when run in cron:
Can't load '/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Digest/MD5/ +MD5.so' for module Digest::MD5: libgcc_s.so.1: cannot open shared obj +ect file: No such file or directory at /usr/lib/perl5/5.6.1/i386-linu +x/DynaLoader.pm line 206, <GEN0> line 1. at /usr/lib/perl5/site_perl/5.6.1/Net/SSH/Perl/Util/SSH1MP.pm line 6 Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SS +H/Perl/Util/SSH1MP.pm line 6, <GEN0> line 1. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Ne +t/SSH/Perl/Util/SSH1MP.pm line 6, <GEN0> line 1. Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SS +H/Perl/Util.pm line 56, <GEN0> line 1. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Ne +t/SSH/Perl/Key/RSA1.pm line 6, <GEN0> line 1. Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SS +H/Perl/SSH1.pm line 13, <GEN0> line 1. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.6.1/Ne +t/SSH/Perl/SSH1.pm line 13, <GEN0> line 1. Compilation failed in require at /usr/lib/perl5/site_perl/5.6.1/Net/SS +H/Perl.pm line 51, <GEN0> line 1.
any idea? It runs fine at the command line. Thanks.

Replies are listed 'Best First'.
Re: net ssh perl pukes when ...
by Enlil (Parson) on Apr 21, 2003 at 17:43 UTC
    Here is another thread along the same lines as your question, that should provide some insight into your problem, specifically Abigail-II's response. (here is another thread that might prove useful, super search turned up a lot more things so I would go there next if neither of these threads answers your question.)

    -enlil

Re: net ssh perl pukes when ...
by RMGir (Prior) on Apr 21, 2003 at 18:07 UTC
    cron jobs usually run with a limited environment.

    Try running

    perl -e'print "$_ => $ENV{$_}\n" foreach sort keys %ENV' > cron.out
    from the crontab, and run the same command from the command line. (with a different output file, of course)

    I'm betting the difference between the 2 environments will explain your problem.
    --
    Mike

Re: net ssh perl pukes when ...
by vek (Prior) on Apr 21, 2003 at 20:48 UTC
    perlknight, do you have your LD_LIBRARY_PATH environment variable set correctly?

    -- vek --
      This works, I don't know why setting this value to /usr/local/lib works, but it works. Much thanks.
Re: net ssh perl pukes when ...
by IndyZ (Friar) on Apr 21, 2003 at 17:05 UTC
    Try reinstalling Digest::MD5. (/me misread the question)

    Scratch that. Make sure that cron has access to the shared libs (i.e., it isn't running in a chroot jail, or the permissions are wrong) and that it is using the right version of the perl interpreter.

      perl permission looks ok:
      -r-xr-xr-x 1 root root 15677 Apr 16 18:24 /usr/lib/perl5 +/site_perl/5.6.1/i386-linux/auto/Digest/MD5/MD5.so -r-xr-xr-x 1 root root 14892 Mar 27 2002 /usr/lib/perl5 +/vendor_perl/5.6.1/i386-linux/auto/Digest/MD5/MD5.so
      So, how do I check if cron has access to the shared libs? Thanks.