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

Hi, I'm trying to use the SNMP module that ships with Perl 5.8.8 on SUSE Linux 10.1 RC1.

I started by doin what I hoped was a simple scipt to get me going and keep on getting the following error when I run it,

green-midget:/home/dave # ./snmp.pl

Can't load '/usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi/auto/SNMP/SNMP.so' for module SNMP: /usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi/auto/SNMP/SNMP.so: undefined symbol: usmHMACSHA1Auth Protocol at /usr/lib/perl5/5.8.8/i586-linux-thread-multi/DynaLoader.pm line 230. at ./snmp.pl line 3 Compilation failed in require at ./snmp.pl line 3. BEGIN failed--compilation aborted at ./snmp.pl line 3.

Here is my extremely simple code (which I borrowed),

#!/usr/bin/perl use SNMP; # requires a hostname and a community string as its arguments $session = new SNMP::Session(DestHost => $ARGV[0], Community => $A +RGV[1], Version => 1, UseSprintValue => 1); die "session creation error: $SNMP::Session::ErrorStr" unless (defined $session); # set up the data structure for the getnext command $vars = new SNMP::VarList(['ipNetToMediaNetAddress'], ['ipNetToMediaPhysAddress']); # get first row ($ip,$mac) = $session->getnext($vars); die $session->{ErrorStr} if ($session->{ErrorStr}); # and all subsequent rows while (!$session->{ErrorStr} and $$vars[0]->tag eq "ipNetToMediaNetAddress"){ print "$ip -> $mac\n"; ($ip,$mac) = $session->getnext($vars); };

Any help would be great.

Thanks Dave

Replies are listed 'Best First'.
Re: Geeting usmHMACSHA1Auth error
by zentara (Cardinal) on Apr 20, 2006 at 12:13 UTC
    I've used SuSE and their rpm system in the past, and you can run into alot of glitches with their dependencies on other libraries. Just as a guess(from the symbol name), it looks like the OpenSSL library is either not installed, or you have a version mismatch. There is also the problem of SuSE separating their runtime from their devel libs. So you may need the OpenSSL-devel rpm as well as the runtime rpm.

    Try to use the SuSE YAST system to reinstall the perl module, and see if it lists any dependencies which are missing/mismatched. If that fails, try to build the module yourself from the source tarball at CPAN. AND......if that fails, get the OPENSSL tarball, compile and install it (be sure to remove the old one first), then try to build the module again.


    I'm not really a human, but I play one on earth. flash japh
Re: Geeting usmHMACSHA1Auth error
by Anonymous Monk on Apr 20, 2006 at 10:10 UTC
    What does perl -V print?