执行时出错'perl Makefile.PL':找不到net-snmp-config
Error when executing 'perl Makefile.PL': Can't find net-snmp-config
我正在尝试安装 NetSNMP-OID(版本 5.0404),但是当我 运行 'perl Makefile.PL'(在 NetSNMP-OID 目录中)时,我收到消息:
You need to install net-snmp first (I can't find net-snmp-config) at Makefile.PL line 91.
使用 'print' 语句向 Makefile.PL 添加一些检查点后,我发现它没有执行以下行(83 到 85):
if (lc($opts->{'insource'}) eq "true") {
$Params{'LIBS'} = "-L../../snmplib/.libs -L../../snmplib/ " . $Params{'LIBS'};
$Params{'CCFLAGS'} = "-I../../include " . $Params{'CCFLAGS'};
这可能是它在 90/91 时崩溃的原因?:
if ($Params{'LIBS'} eq "" || $Params{'CCFLAGS'} eq "") {
die "You need to install net-snmp first (I can't find net-snmp-config)";
}
我已经安装了 net-snmp(我认为是正确的),所以我想知道是不是我把它放在了错误的目录中?目前在 home/ (~, 即 ~/net-snmp-5.7.3/).
如果有 Perl 经验的人可以解释第一段代码(第 83 到 85 行)的作用,那将是有益的!
OS: Raspbian
编辑:
备注:
net-snmp-config
是直接在 net-snmp 目录 (~/net-snmp-5.7.3/net-snmp-config) 中找到的 shell (.sh) 脚本。
Makefile.PL 可以在这里找到:NetSNMP-OID-5.0404/Makefile.PL
我自己没有使用过这个模块,但是通过快速查看源代码,试试
perl Makefile.PL --NET-SNMP-CONFIG ~/net-snmp-5.7.3/net-snmp-config
%opts
来自 GetOptions
,它解析命令行参数 (source)。
%Params
是根据%opts
、机型等因素产生的。例如,$Params{LIBS}
被 运行 net-snmp-config
赋值为 here。
NET-SNMP-CONFIG
命令行选项存储在 $opts{nsconfig}
中,然后 运行 获取 CFLAGS
和 LIBS
必要的。
Edit 第 83-85 行只是 CFLAGS
和 LIBS
可以设置的方式之一。在您的情况下,第 77 和 79 行似乎无法这样做,可能是因为它们找不到 net-snmp-config
.
我正在尝试安装 NetSNMP-OID(版本 5.0404),但是当我 运行 'perl Makefile.PL'(在 NetSNMP-OID 目录中)时,我收到消息:
You need to install net-snmp first (I can't find net-snmp-config) at Makefile.PL line 91.
使用 'print' 语句向 Makefile.PL 添加一些检查点后,我发现它没有执行以下行(83 到 85):
if (lc($opts->{'insource'}) eq "true") {
$Params{'LIBS'} = "-L../../snmplib/.libs -L../../snmplib/ " . $Params{'LIBS'};
$Params{'CCFLAGS'} = "-I../../include " . $Params{'CCFLAGS'};
这可能是它在 90/91 时崩溃的原因?:
if ($Params{'LIBS'} eq "" || $Params{'CCFLAGS'} eq "") {
die "You need to install net-snmp first (I can't find net-snmp-config)";
}
我已经安装了 net-snmp(我认为是正确的),所以我想知道是不是我把它放在了错误的目录中?目前在 home/ (~, 即 ~/net-snmp-5.7.3/).
如果有 Perl 经验的人可以解释第一段代码(第 83 到 85 行)的作用,那将是有益的!
OS: Raspbian
编辑:
备注:
net-snmp-config
是直接在 net-snmp 目录 (~/net-snmp-5.7.3/net-snmp-config) 中找到的 shell (.sh) 脚本。
Makefile.PL 可以在这里找到:NetSNMP-OID-5.0404/Makefile.PL
我自己没有使用过这个模块,但是通过快速查看源代码,试试
perl Makefile.PL --NET-SNMP-CONFIG ~/net-snmp-5.7.3/net-snmp-config
%opts
来自GetOptions
,它解析命令行参数 (source)。%Params
是根据%opts
、机型等因素产生的。例如,$Params{LIBS}
被 运行net-snmp-config
赋值为 here。
NET-SNMP-CONFIG
命令行选项存储在 $opts{nsconfig}
中,然后 运行 获取 CFLAGS
和 LIBS
必要的。
Edit 第 83-85 行只是 CFLAGS
和 LIBS
可以设置的方式之一。在您的情况下,第 77 和 79 行似乎无法这样做,可能是因为它们找不到 net-snmp-config
.