[opensuse-factory] Nagios & Perl
Hello List, after removing assorted cruft (unmaintained packages from older systems, some going back to 10.2...) from my installation, Nagios suddenly does not find libperl.so anymore. Sorry for my ignorance, but since this library is not placed in a standard directory, what is the mechanism to make it visible to the linker? Thanks, A. -- Ansgar Esztermann DV-Systemadministration Max-Planck-Institut für biophysikalische Chemie, Abteilung 105
Am Wed, 21 Nov 2012 14:45:55 +0000 schrieb "Esztermann, Ansgar" <Ansgar.Esztermann@mpi-bpc.mpg.de>:
... but since this library is not placed in a standard directory, what is the mechanism to make it visible to the linker?
if I understand your problem correctly you need ldconfig and possibly first to add an entry in /etc/ld.so.conf or better /etc/ld.so.conf.d/ for the non standard location. kr, Dieter -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Nov 21, 2012, at 20:09 , dieter wrote:
... but since this library is not placed in a standard directory, what is the mechanism to make it visible to the linker?
if I understand your problem correctly you need ldconfig and possibly first to add an entry in /etc/ld.so.conf or better /etc/ld.so.conf.d/ for the non standard location.
Oh, I did not mean "non-standard" as "non-openSUSE". Rather, the library is away from the usual /usr/lib etc, but placed there by the standard rpm package: : aeszter#; locate libperl.so /usr/lib/perl5/5.16.2/i586-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/CORE/libperl.so I would expect the distribution to provide some mechanism (ld.so.conf etc, or a symlink to a place mentioned in ld.so.conf) for the linker to use that library. I guess the removal of one of those ancient packages destroyed that mechanism. A. -- Ansgar Esztermann DV-Systemadministration Max-Planck-Institut für biophysikalische Chemie, Abteilung 105
On Thu, Nov 22, 2012 at 09:29:44AM +0000, Esztermann, Ansgar wrote:
On Nov 21, 2012, at 20:09 , dieter wrote:
... but since this library is not placed in a standard directory, what is the mechanism to make it visible to the linker?
if I understand your problem correctly you need ldconfig and possibly first to add an entry in /etc/ld.so.conf or better /etc/ld.so.conf.d/ for the non standard location.
Oh, I did not mean "non-standard" as "non-openSUSE". Rather, the library is away from the usual /usr/lib etc, but placed there by the standard rpm package: : aeszter#; locate libperl.so /usr/lib/perl5/5.16.2/i586-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/CORE/libperl.so
I would expect the distribution to provide some mechanism (ld.so.conf etc, or a symlink to a place mentioned in ld.so.conf) for the linker to use that library. I guess the removal of one of those ancient packages destroyed that mechanism.
Packages using libperl get linked with -Wl,-rpath=/usr/lib/perl5/5.16.2/i586-linux-thread-multi/CORE so the resulting binary knows how to find the lib. (See perl -V:ccdlflags) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (3)
-
dieter
-
Esztermann, Ansgar
-
Michael Schroeder