Still looking for a little help here.
I did some searching on the Net and found some stuff about perl.
So I ran this command as the zimbra user:
perl -e 'use Digest::SHA1; print map {"$_ => $INC{$_}\n"} keys %INC'
And got this back:
Carp.pm => /usr/share/perl/5.8/Carp.pm
warnings/register.pm => /usr/share/perl/5.8/warnings/register.pm
Digest/SHA1.pm => /opt/zimbra/zimbramon/lib/i386-linux-thread-multi/Digest/SHA1.pm
Exporter.pm => /usr/share/perl/5.8/Exporter.pm
vars.pm => /usr/share/perl/5.8/vars.pm
strict.pm => /usr/share/perl/5.8/strict.pm
warnings.pm => /usr/share/perl/5.8/warnings.pm
AutoLoader.pm => /usr/share/perl/5.8/AutoLoader.pm
Config.pm => /usr/lib/perl/5.8/Config.pm
Digest/base.pm => /usr/share/perl/5.8/Digest/base.pm
DynaLoader.pm => /usr/lib/perl/5.8/DynaLoader.pm
So, it appears that perl finds SHA1.pm just fine. But, when I run zmtrainsa as the zimbra user I get that error that says the @INC path doesn't find the SHA1.pm file.
I can't understand why that would be. If I run this:
perl -e 'print join "\n", @INC'
I get this, which clearly shows the @INC path including the SHA1.pm file:
/opt/zimbra/zimbramon/lib/x86_64-linux-thread-multi
/opt/zimbra/zimbramon/lib
/opt/zimbra/zimbramon/lib/i386-linux-thread-multi
/opt/zimbra/zimbramon/lib/i486-linux-gnu-thread-multi
/opt/zimbra/zimbramon/lib/i586-linux-thread-multi
/opt/zimbra/zimbramon/lib/darwin-thread-multi-2level
/etc/perl
/usr/local/lib/perl/5.8.8
/usr/local/share/perl/5.8.8
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
It seems as if the zmtrainsa command is either changing the @INC path or running as a user other than zimbra, even though I am running it manually as the zimbra user.
Does anyone have any insite? |