NRPE error, shared libraries; glibc 2.5 or greater


#1

I have 100% inherated systems and we are moving to a new set of servers, monitoring via nagios. I understand that versions of NRPE can be out of sync so I’ve ran the same versions as currently in use (plugins-1.4.13 and nrpe-2.12). No errors but can only relate this message: configure: WARNING: LIBS="-lcrypt " CPPFLAGS=""

The daemon is not running under xinetd. Current nodes do not have /etc/services with nrpe listed and the process is running as: nagios 9179 1 0 Jan06 ? 00:00:12 /usr/local/bin/nrpe -c /etc/nrpe.cfg -d

When trying to start in the same fashion from the installation as documented, the following error in full: nrpe: error while loading shared libraries: requires glibc 2.5 or later dynamic linker

I’ve checked both nodes and any references to glibc shows version 2.3 on both, but is able to run on the current nodes.
Current: Linux localhost 2.4.21-37.0.1.ELsmp #1 SMP Wed Jan 11 18:44:17 EST 2006 i686 i686 i386 GNU/Linux
New: Linux localhost 2.6.9-89.0.11.ELsmp #1 SMP Mon Aug 31 11:01:10 EDT 2009 i686 i686 i386 GNU/Linux

I’m not a seasoned *nix person. Seems that there is a library that it either can’t see/load or something makes it want a different version. I’ve checked up2date for any updated packages and it doesn’t show anything to be updated nor lists version 2.5.

Anyone have any thoughts/ideas?

Thanks.


#2

It’s as though you copied the binary files from old to new, but you relate configure output.

Make sure you download the distributed(tar.gz/bz2) files to the new hosts, unpack and build them. There will be a number of *-devel packages you will need to install, like openssl-devel. Don’t copy the previously used build trees from the old hosts, that’s one way to copy the binary files over.

You can also break down and copy the needed files from the old hosts… but this is just like installing the old OS all over again. That’s not automatically a bad thing, if after several years they don’t have problems or get hacked who is to say that will ever change. Even though I can’t say that doing so will be even remotely safe
Using ldd will produce output pointing to the files a binary will need to link(and then load) properly. Once the application is loaded it may try and bring in other files, LD_DEBUG=libs will show the rest of files needed for linking. For every day datafiles strace -e trace=file will produce loads of information.