Freebsd – Missing perl modules error for properly installed perl modules on FreeBSD 8.3, perl 5.16

freebsdperl

Trying to run a Nagios plugin on 8.3-RELEASE-p3, I get the error:

Missing perl modules: Net::SMTP::SSL

I have rebuilt the ports for both p5-Net-SMTP-SSL and perl5.16. cpan -i Net::SMTP::SSL reports

Net::SMTP::SSL is up to date (1.01).

The plugin calls /usr/bin/perl in the shebang (which is correct per my path) and invokes the module via

push @required_module, 'Net::SMTP::SSL' if $ssl;

What else should I be looking at?

Best Answer

Per larsks's comment, running /usr/bin/perl -MNet::SMTP::SSL -e exit turned up a few other missing modules one at a time:

# /usr/bin/perl -MNet::SMTP::SSL -e exitCan't locate Net/SSLeay.pm in @INC (@INC contains: /usr/local/lib/perl5/5.16/BSDPAN /usr/local/lib/perl5/site_perl/5.16/mach /usr/local/lib/perl5/site_perl/5.16 /usr/local/lib/perl5/5.16/mach /usr/local/lib/perl5/5.16 .) at /usr/local/lib/perl5/site_perl/5.16/IO/Socket/SSL.pm line 17.BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16/IO/Socket/SSL.pm line 17.Compilation failed in require at /usr/local/lib/perl5/site_perl/5.16/Net/SMTP/SSL.pm line 8.BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16/Net/SMTP/SSL.pm line 8.
Compilation failed in require.
BEGIN failed--compilation aborted.

Installing the p5-IO-Socket-SSL and p5-Net-SSLeay fixed the problem.