我在perl包5.10中出现了下面的错误。
"inet_pton不是有效的套接字宏“
if (Socket::inet_pton (AF_INET6,$self->{'ip'}) )
{
$log->print("we hit here and ip=$self->{'ip'}");
$self->{'session'} = Net::SNMP->session(-hostname => $self->{'ip'},
-community => $self->{'community'},
-port => $self->{'port'},
-version => 'snmpv2c');
}你能让我知道根本原因吗?
发布于 2016-03-19 00:17:20
Socket使用自动加载器。这是当你试图呼叫一个不存在的sub时它产生的消息。
$ perl -MSocket -wE'my $x = Socket::some_name()'
some_name is not a valid Socket macro at -e line 1换句话说,错误消息与
Undefined subroutine &Socket::inet_pton called您的套接字版本必须早于添加模块对inet_pton的支持。因此,修复方法只需升级该模块即可。
发布于 2016-03-18 21:36:49
您的Perl太旧了。据我所知,直到5.12才添加对inet_pton的支持。从CPAN安装更新版本的Socket可能会有所帮助,但我不敢打赌。Perl5.10于2007年问世,当时对IPv6的支持比现在差得多。
https://stackoverflow.com/questions/36085348
复制相似问题