NRPE installation fails since check_nrpe plugin is not found in the libexec directory

Andy Shellam andy-lists at networkmail.eu
Mon Jan 26 22:40:00 CET 2009


Hi Rahul,

> make all does throw a bunch of SSL errors of the sort:
>
> /usr/include/openssl/bn.h:287: error: expected 
> specifier-qualifier-list before ‘BN_ULONG’
> /usr/include/openssl/bn.h:303: error: expected 
> specifier-qualifier-list before ‘BN_ULONG’
> /usr/include/openssl/bn.h:449: error: expected ‘=’, ‘,’, 
> ‘;’, ‘asm’ or ‘__attribute__’ before ‘BN_mod_word’
> /usr/include/openssl/bn.h:450: error: expected ‘=’, ‘,’, 
> ‘;’, ‘asm’ or ‘__attribute__’ before ‘BN_div_word’
> /usr/include/openssl/bn.h:451: error: expected declaration specifiers 
> or ‘...’ before ‘BN_ULONG’
> make[1]: *** [nrpe] Error 1
>
> Again, I suspect somehow it is not finding my SSL libraries? (the 
> config.log for nagiosplugins does say so)

I did have similar issues compiling NRPE, and I believe it's an 
incompatibility with the way the configure script produces the OpenSSL 
build path, and how the OpenSSL-internal header files are included - you 
have to force the include path manually - as follows:

First find where the libssl*.so and libcrypto*.so libraries are, and 
take a note of the base path - e.g. if they're in 
/usr/local/openssl/lib, the base path is /usr/local/openssl, if they're 
in /usr/local/lib, the base path is /usr/local etc.

To reproduce the "issue":

Run ./configure with your options, and pass in the extra options as 
follows: --with-ssl=/usr/local/openssl 
--with-ssl-inc=/usr/local/openssl/include 
--with-ssl-lib=/usr/local/openssl/lib

In the configure log file, the CFLAGS are set as "-g -O2 
-I/usr/local/openssl/include/openssl", but some of the OpenSSL-included 
files look for header files specified as "openssl/*.h" - which creates a 
full path of "/usr/local/openssl/include/openssl/openssl/*.h" - incorrect!

You have to manually force the CFLAGS to be 
"-I/usr/local/openssl/include" - so modify your configure line as follows:

CFLAGS="-g -O2 -I/usr/local/openssl/include" ./configure [your extra 
options] --with-ssl=/usr/local/openssl 
--with-ssl-inc=/usr/local/openssl/include 
--with-ssl-lib=/usr/local/openssl/lib

The new CFLAGS environment variable then becomes "-g -O2 
-I/usr/local/openssl/include -I/usr/local/openssl/include/openssl" - so 
Nagios is happy (as it can just include "rsa.h" and so is OpenSSL if it 
internally includes files as "openssl/*.h."

Remember to replace /usr/local/openssl with your OpenSSL base path in 
all the above examples.

This is on my Debian Linux systems, I haven't tried compiling NRPE on 
Solaris 10 yet.

>
>
>     nrpe-2.8 is pretty old. Current version is 2.12; you should use the
>     latest release.
>
>
> All my older nodes had nrpe-2.8. Is it ok to mix nrpe versions?
> NRPE versions are only relevant to the remote_clients, right? It does 
> not matter what version of nagios and nagiosplugins  I have installed 
> on my monitoring host?

Yes, you're correct, it shouldn't matter to Nagios which version of NRPE 
is running.

Regards,

Andy


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list