net-snmp port problem libnetsnmphelpers.so.20

Dan Lukes dan at obluda.cz
Sat Nov 27 10:47:55 CET 2010


On 11/27/10 07:41, Milan Cizek:
> po portupgrade portů se mi nedaří nastartovat snmpd. Provedl jsem znovu
> portupgrdade -f perl a také net-snmp a p5-Net-SNMP, ale nepomáhá.
>
> libperl.so existuje v /usr/local/lib/perl5/5.8.9/mach/CORE/libperl.so
>
> Starting snmpd.
> /libexec/ld-elf.so.1: Shared object "libperl.so" not found, required by
> "libnetsnmphelpers.so.20"
>
> # ldd /usr/local/lib/libnetsnmphelpers.so.20
> /usr/local/lib/libnetsnmphelpers.so.20:
>          libnetsnmpagent.so.20 =>  /usr/local/lib/libnetsnmpagent.so.20
> (0x28185000)
>          libwrap.so.4 =>  /usr/lib/libwrap.so.4 (0x281cd000)
>          libperl.so =>  not found (0x0)
...
> Mžete někdo poradit v čem je problém a jak ho odstranit? Díky.

V tom, ze ldd ukaze knihovnu jako neresolvitelnou problem neni. Je to 
sice neobvykle, ale samo o sobe to nemusi mit na beh vliv.

Pri dynamickem linkovani je potreba vyresit vsechny "undefined" symboly 
a linker k tomu ma "hint" v jakych knihovnach symboly najde. 'snmd' je 
samo zavisle na libperl.so, takze v dobe, kdy se zacnou resit zavislosti 
knihovny libnetsnmphelpers jsou vsechny symboly jiz pritomne a tudiz ke 
konverzaci "kde sezenu symbol XY - no v libperl - jezisi, jenze ja 
nevim, kde ta je" vubec nedojde, protoze vsechny symboly ma.

Ano, muzeme hledat, proc je libperl v libnetsnmphelpers "not found", 
protoze tady nekde je klic k prvotnimu poznani, nicmene, snazime-li se 
to dostat do stavu aby to fugovalo jako vsude jinde, bude se treba 
zamerit spis na snmpd

Copak ti povi 'ldd -av /usr/local/sbin/snmpd' ?
Predpokladam, ze primo snmpd (to je ta prvni sekce) na libperl.so 
zavisle vubec neni - coz by v teto situaci melo (a to, ze u me je 
zpusobuje, ze aj tebou popsany problem nemam).

Ale nez bych nad tim zacal hloubat tak nejak do hloubky, nejprve bych
overil, ze 'perl' je cisty. Tim myslim, ze v adresarich 
/usr/local/lib/perl5/ a /usr/local/lib/perl5/site_perl nejsou 
podadresare jinych verzi nez te aktualne nainstalovane. Pokud ano, je 
vhodne je smazat a nasledne znovu prelozit jak perl tak vsechno co na 
nem zavisi. S vyjimkou samotneho net-snmp, to bych neprekladal "znovu", 
ale uplne smazal a prekladal "nove".

Pokud by snad perl cisty byl, pak jen ten posledni krok - net-snmp 
smazat a prelozit znovu nacisto.

Dan



More information about the Users-l mailing list