libperl.so missing?

After upgrading from 7.3 to 8.1 I lot of lib issues, .. now the weirdest one was this one

Code:
# ldd /usr/local/lib/libnetsnmphelpers.so.20
/usr/local/lib/libnetsnmphelpers.so.20:
        libnetsnmpagent.so.20 => /usr/local/lib/libnetsnmpagent.so.20 (0x800c00000)
        libwrap.so.6 => /usr/lib/libwrap.so.6 (0x800d48000)
        libperl.so => not found (0x0)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x800e51000)
        libutil.so.8 => /lib/libutil.so.8 (0x800f6a000)
        libnetsnmp.so.20 => /usr/local/lib/libnetsnmp.so.20 (0x80107a000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0x80124a000)
        libm.so.5 => /lib/libm.so.5 (0x8014e4000)
        libkvm.so.5 => /lib/libkvm.so.5 (0x801603000)
        libdevstat.so.7 => /lib/libdevstat.so.7 (0x80170b000)
        libthr.so.3 => /lib/libthr.so.3 (0x801810000)
        libc.so.7 => /lib/libc.so.7 (0x800647000)
        libperl.so => /usr/local/lib/perl5/5.12.2/mach/CORE/libperl.so (0x801928000)

It is missing libperl.so however on the end it is still there, the weird thing is that both net-snmp and perl where recompiled.

At this point this is the only remaining problem i can still find except that gobject-introspection won't compile, ..

Probably making a link from /usr/local/lib/perl5/5.12.2/mach/CORE/libperl.so to /usr/local/lib will fix this however I think it is odd that this is compiled the way it is.
 
wrote small script to check missing libs probably incomplete, .. if anyone can add stuff to it ..

Code:
#!/usr/local/bin/bash
LIST="/bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin /lib /usr/lib /usr/local/lib /libexec /usr/libexec /usr/local/libexec"
MODE="111 511 555 751 755"
for P in $LIST; do
  echo Checking $P
  for M in $MODE; do
    for X in `find $P -perm $M -type f -print`; do
      if [ `ldd "$X" 2>&1 | grep -i found | wc -l` -gt 0 ]; then
        echo Found broken $X
      fi
    done
  done
  
done
echo Done checking paths
exit 0
 
Ok I understand but I'm not saying anyone should use a script :p

BTW, thank you for the pkg_libchk tip.
 
Hi,

Code:
server# pkg_libchk
net-snmp-5.7_4: /usr/local/lib/libnetsnmpmibs.so.30 misses libperl.so
server#
That is the test, but how to solve?
 
loader.c: Error loading module 'res_snmp.so': Shared object "libperl.so" not found

Problem:
Code:
server# pkg_libchk
net-snmp-5.7_4: /usr/local/lib/libnetsnmpmibs.so.30 misses libperl.so
server#
loader.c: Error loading module 'res_snmp.so': Shared object "libperl.so" not found, required by "libnetsnmpmibs.so.30"
ldd /usr/local/sbin/snmpd
libperl.so => /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so
ldd /usr/local/lib/libnetsnmpmibs.so.30
libperl.so => not found (0x0)
Solution:
http://mustnofee.com/tutorials/112-snmpd-error-libperlso-not-found
Code:
cp /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so /usr/local/lib
Adapted to my case:
Code:
cp /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so /usr/local/lib
 
Even recompiling never put it back into the lib directory so I used [b]ln -s[/b], because using cp also means the binary .so never gets updated.
 
Code:
libperl.so => /usr/local/lib/perl5/5.12.2/mach/CORE/libperl.so (0x801928000)

As you can see there is no issue in missing lib path, .. the problem is that libperl.so isn't linked to the main lib directory.

Code:
libperl.so => not found (0x0)

The bins will work, it's more of a luxury issue, but if you write a script to check for missing libs libperl.so will pop up, .. so wanted to automatically check for missing libs weekly. Instead of waiting for when something breaks.
 
Hi...
Code:
# ln -s /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so /usr/local/lib/
# ldd /usr/local/lib/libnetsnmpmibs.so.30
/usr/local/lib/libnetsnmpmibs.so.30:
        libnetsnmpagent.so.30 => /usr/local/lib/libnetsnmpagent.so.30 (0x800889000)
        libwrap.so.6 => /usr/lib/libwrap.so.6 (0x800e2a000)
        libperl.so => /usr/local/lib/libperl.so (0x800f33000)
...
may be is a bug ?
I found this about... https://bugzilla.redhat.com/show_bug.cgi?id=742678.
The best temporary solution seems to be [cmd=]ln -s /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so /usr/local/lib/[/cmd] until the net-snmp team, make a solution. isn't it?
 
wmoreno3 said:
Hi...
Code:
# ln -s /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so /usr/local/lib/
# ldd /usr/local/lib/libnetsnmpmibs.so.30
/usr/local/lib/libnetsnmpmibs.so.30:
        libnetsnmpagent.so.30 => /usr/local/lib/libnetsnmpagent.so.30 (0x800889000)
        libwrap.so.6 => /usr/lib/libwrap.so.6 (0x800e2a000)
        libperl.so => /usr/local/lib/libperl.so (0x800f33000)
...
may be is a bug ?
I found this about... https://bugzilla.redhat.com/show_bug.cgi?id=742678.
The best temporary solution seems to be [cmd=]ln -s /usr/local/lib/perl5/5.14.1/mach/CORE/libperl.so /usr/local/lib/[/cmd] until the net-snmp team, make a solution. isn't it?

Solution: Update to net-snmp 5.7.1_1 http://www.freshports.org/net-mgmt/net-snmp/
 
Yes, that should/will make it work, in your case. But that won't take care of the error entirely, .. of course as I said before, "it's a luxury problem", because it causes no real problems, ..
 
I also faced the missing libperl.so today. I searched and found the script posted at http://lists.freebsd.org/pipermail/free ... 56810.html
which not only locates the missing libraries, but it also reports suggestions. In my case the following output was printed, using this sh script.
Code:
.....
WARNING: Missing library(-ies) for /usr/local/lib/freeswitch/mod/mod_perl.so
--------------------------------------
libperl.so
Maybe1: ln -s /usr/local/lib/perl5/5.18/mach/CORE/libperl.so /usr/local/lib/perl5/5.18/mach/CORE/libperl.so --NOT SUGGESTED, seems /usr/local/lib/perl5/5.18/mach/CORE  not in ldconfig path

Maybe1b: ln -s /usr/local/lib/perl5/5.18/mach/CORE/libperl.so /usr/local/lib/libperl.so
--------------------------------------
....
I did the suggestion 1b, and after this
Code:
ldd /usr/local/lib/freeswitch/mod/mod_perl.so
/usr/local/lib/freeswitch/mod/mod_perl.so:
        libfreeswitch.so.1 => /usr/local/lib/freeswitch/lib/libfreeswitch.so.1 (0x801239000)
        libthr.so.3 => /lib/libthr.so.3 (0x801678000)
        libz.so.6 => /lib/libz.so.6 (0x80189b000)
        librt.so.1 => /usr/lib/librt.so.1 (0x801aaf000)
        libssl.so.6 => /usr/lib/libssl.so.6 (0x801cb4000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0x801f0a000)
        libncurses.so.8 => /lib/libncurses.so.8 (0x8022b2000)
        libjpeg.so.11 => /usr/local/lib/libjpeg.so.11 (0x80063b000)
        libodbc.so.2 => /usr/local/lib/libodbc.so.2 (0x802500000)
        libperl.so => /usr/local/lib/libperl.so (0x802772000)
        libgdbm.so.4 => /usr/local/lib/libgdbm.so.4 (0x802afc000)
        libintl.so.9 => /usr/local/lib/libintl.so.9 (0x802d03000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x802f0d000)
        libm.so.5 => /lib/libm.so.5 (0x803209000)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x80342a000)
        libutil.so.9 => /lib/libutil.so.9 (0x803649000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80385c000)
        libc.so.7 => /lib/libc.so.7 (0x80081b000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x803a6a000)

All seem OK!


Rgz,
BB
 
Back
Top