net-snmp port problem libnetsnmphelpers.so.20

Dan Lukes dan at obluda.cz
Sun Nov 28 05:54:15 CET 2010


On 11/27/10 07:41, Milan Cizek:
> # ldd /usr/local/lib/libnetsnmphelpers.so.20
> /usr/local/lib/libnetsnmphelpers.so.20:
...
>          libperl.so =>  not found (0x0)

Tak uz je jasne, v cem je rozdil mezi libnetsnmp* knihovnami, kde je 
libperl.so "found" a kde "not found"

Not found:
readelf -Wd /usr/local/lib/libnetsnmpmibs.so.20 | grep RPATH
0x000000000000000f (RPATH)              Library rpath: [/usr/local/lib]

Found:
readelf -dW /usr/local/lib/libnetsnmpagent.so.20 | grep RPATH
0x000000000000000f (RPATH)              Library rpath: 
[/usr/local/lib:/usr/local/lib/perl5/5.12.2/mach/CORE]


Jinymi slovy - pri vytvareni nekterych knihoven nebyl nastaven "rpath" 
tak, aby obsahoval adresar ve kterem perl je.

Nicmene, na em instalaci se problem efektivne neprojevi, protoze 
knihovny se linkuji k snmpd, ktere v sobe rpath spravne nastaveny ma:

  0x0000000f (RPATH)                      Library rpath: 
[/usr/local/lib/perl5/5.12.2/mach/CORE:/usr/local/lib]

A tudiz v dobe, kdy se linkuje "vadny" modul tak to nevadi, protoze 
potrebny libperl.so uz je v pameti pritomen a nemusi se hledat.

Takze ted jeste ukaz
readelf -Wd /usr/local/lib/snmpd | grep RPATH

a pripadne pripoj

ldd -a /usr/local/lib/snmpd
(to jsem chtel uz minule, jen mi tam ulitlo navic 'v')

net-snmp se evidentne nepreklada dobre - az na to, ze u tebe jeste o 
neco hur, nez je obvykle a tim ses uz dostal za hranici, kde to nefunguje.

Jako workaround ti nejspis bude fungovat, kdyz adresar s libperl.so 
pridas do ldconfigove cesty.

Dan



More information about the Users-l mailing list