[ Return To FAQ Index | Search The FAQs ]
|Title:||NRPE configuration problems with OpenSSL|
|Submitted By:||Jean-Francois Rabasse |
|Description:||I've installed NRPE (last 2.12) package on hosts with a full Openssl standard installation and had to face two problems:
1. The configure script breaks, finds the SSL headers but says it doesn't find the SSL library.
2. I reconfigured with explicit locations, i.e. --with-ssl-inc=/usr/local/ssl/include --with-ssl-lib=/usr/local/ssl/lib.
Same thing, configure doesn't find the library and aborts.
|Solution:||The fixes (for a nrpe-2.12 package) I've put in the package configure.in file:
1. There's an automatic search on default directories, line #249 of configure.in, and a default Openssl installation directory /usr/local/ssl is in the list. Header files are found.
For the library, line #288 of configure.in, the same default directory is not in the list.
I added /usr/local/ssl/lib
2. Even when specifying explicit path, --with-ssl-lib=... my lib wasn't found.
The lib detection is a test, line #290 of configure.in :
if test -f "$dir/libssl.so"; then
Ok, but with some Openssl packages, the default is to build archive libraries. Shareable libraries must be explicitly asked with a configure option,
--enable-shared. Or some developpers don't wish to use a .so variant and prefer static linkage.
I replaced the test line #290 by :
if test -f "$dir/libssl.so -o -f "$dir/libssl.a";
and all is Ok for configure.
2.bis. When linking with an archive library, some needed other libraries are not resolved and building the nrpe program fails at link time because the dlfcn library is not there.
This doesn't happen when linking with
-L/usr/local/ssl/lib -lssl -lcrypto
if libssl is the .so version.
With libssl.a, on has to add :
-L/usr/local/ssl/lib -lssl -lcrypto -ldl
And all works now:-) |
|Keywords:||NRPE OpenSSL support |