나는 펄 스크립트를 작성 Net::SNMP 5.3.1-19를 실행하는 서버의 몇 가지에 그것을 테스트,하지만 지금은 다른 서버에서 실행하기 위해 노력하고있어 나는 다음과 같은 오류 받고 있어요 :왜 Net :: SNMP가 잘못된 libnetsnmp.so를로드하려고합니까?
을Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/default_store/default_store.so' for module NetSNMP::default_store: libnetsnmp.so.15: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/SNMP.pm line 16 Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/SNMP.pm line 16. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/SNMP.pm line 16. Compilation failed in require at /shaw/neteye/perl_scripts/cmtsmonitord.pl line 9. BEGIN failed--compilation aborted at /shaw/neteye/perl_scripts/cmtsmonitord.pl line 9.
왜 로더가 libnetsnmp.so.15에 대해 불평하고 있습니까? 나는 libnetsnmp.so.10을 다른 모든 서버에 설치했고 제대로 작동합니다. 심볼릭 링크는 15가 아닌 동일한 버전 (10)을 가리키고 있습니다. Net :: SNMP (5.4.2.1)의 이후 버전에는 필요하지 않습니까?
[[email protected] lib]$ sudo /sbin/ldconfig |grep snmp
/sbin/ldconfig: /usr/lib/libgd.so.2 is not a symbolic link
[[email protected] lib]$ sudo /sbin/ldconfig -p |grep snmp
libsnmp.so.10 (libc6) => /usr/lib/libsnmp.so.10
libnetsnmptrapd.so.10 (libc6) => /usr/lib/libnetsnmptrapd.so.10
libnetsnmpmibs.so.10 (libc6) => /usr/lib/libnetsnmpmibs.so.10
libnetsnmphelpers.so.10 (libc6) => /usr/lib/libnetsnmphelpers.so.10
libnetsnmpagent.so.10 (libc6) => /usr/lib/libnetsnmpagent.so.10
libnetsnmp.so.10 (libc6) => /usr/lib/libnetsnmp.so.10
모든 snmp 패키지가 동일한 경우이 서버에서 최신 버전의 동적 라이브러리를 사용하는 이유는 무엇입니까?
다른 것으로 나타났습니다. default_store.so 라이브러리에는 2 세트가 있습니다.
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/agent/default_store/default_store.so /usr/lib/perl5/site_perl/5.8.8/ i386-linux-thread-multi/auto/NetSNMP/default_store/default_store.so /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/agent/default_store/default_store.so /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/default_store/default_store.so 것입니다
에만 vendor_perl의 사람이 잘 작동되는 기계, RPM과 함께 설치됩니다. 2의 차이점은 무엇입니까? (공급 업체 및 기반) 어떻게 펄을 강제로 추가 기능을 vendoer_perl에서 사용합니까?
감사합니다.
질문에 'perl -V'의 출력을 추가하십시오. –