LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (https://www.linuxquestions.org/questions/linux-server-73/)
-   -   nagios nrpe - "make all" fails with ssl (https://www.linuxquestions.org/questions/linux-server-73/nagios-nrpe-make-all-fails-with-ssl-558277/)

neocontrol 06-01-2007 06:59 AM

nagios nrpe - "make all" fails with ssl
 
Hi,

I've been messing around with nagios for some time. I always just installed the nrpe client by just doing the normal ./configure, make all, then copy the nrpe and nrpe.cfg files to the right directories.

While trying to do the same with a differnt company, and a slightly differnt red hat install, I'm unable to just to my normal.

When I run make all, I'm getting this out put:

Code:

make all
cd ./src/; make ; cd ..
make[1]: Entering directory `/home/charlier/nrpe-2.0/src'
gcc -g -O2 -I/usr/local/ssl/include/openssl -I/usr/local/ssl/include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/usr/local/ssl/lib  -lssl -lcrypto -lnsl
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x4e): In function `dlfcn_load':
: undefined reference to `dlopen'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0xbd): In function `dlfcn_load':
: undefined reference to `dlclose'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0xf8): In function `dlfcn_load':
: undefined reference to `dlerror'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x17d): In function `dlfcn_unload':
: undefined reference to `dlclose'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x23c): In function `dlfcn_bind_var':
: undefined reference to `dlsym'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x2c0): In function `dlfcn_bind_var':
: undefined reference to `dlerror'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x344): In function `dlfcn_bind_func':
: undefined reference to `dlsym'
/usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x3a0): In function `dlfcn_bind_func':
: undefined reference to `dlerror'
collect2: ld returned 1 exit status
make[1]: *** [nrpe] Error 1
make[1]: Leaving directory `/home/charlier/nrpe-2.0/src'

Has anyone else ran into this problem before? The machine is red hat 4, 64 bit machine if that helps anyone.

I am able to compile without the ssl, get nrpe running, but it doesn't work as well. When you do a nmap on the localhost, I am not seeign the port 5666 open as I believe it should be.

Ideas?

neocontrol 06-01-2007 07:16 AM

I'd also like to add that during testing I have also turned the firewall off just to see if that was blocking, with no luck.

This is what I get when i run a ps -ef |grep nrpe:

Quote:

ps -ef |grep nrpe
nagios 13788 1 0 07:09 ? 00:00:00 ./bin/nrpe -c ./etc/nrpe.cfg -d
root 13792 12534 0 07:10 pts/1 00:00:00 grep nrpe
Here is my nrpe.cfg file:

Code:

#############################################################################
# Sample NRPE Config File
# Written by: Ethan Galstad (nagios@nagios.org)
#
# Last Modified: 03-05-2003
#
# NOTES:
# This is a sample configuration file for the NRPE daemon.  It needs to be
# located on the remote host that is running the NRPE daemon, not the host
# from which the check_nrpe client is being executed.
#############################################################################



# PORT NUMBER
# Port number we should wait for connections on.
# NOTE: This must be a non-priviledged port (i.e. > 1024).
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

server_port=5666



# SERVER ADDRESS
# Address that nrpe should bind to in case there are more than one interface
# and you do not want nrpe to bind on all interfaces.
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

server_address=xxx.xxx.xxx.xxx



# ALLOWED HOST ADDRESSES
# This is a comma-delimited list of IP address of hosts that are allowed
# to talk to the NRPE daemon.
#
# NOTE: The daemon only does rudimentary checking of the client's IP
#      address.  I would highly recommend adding entries in your
#      /etc/hosts.allow file to allow only the specified host to connect
#      to the port you are running this daemon on.
#
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

allowed_hosts=xxx.xxx.xxx.xxx



# NRPE USER
# This determines the effective user that the NRPE daemon should run as.
# You can either supply a username or a UID.
#
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

nrpe_user=nagios



# NRPE GROUP
# This determines the effective group that the NRPE daemon should run as.
# You can either supply a group name or a GID.
#
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd

nrpe_group=nagios



# COMMAND ARGUMENT PROCESSING
# This option determines whether or not the NRPE daemon will allow clients
# to specify arguments to commands that are executed.  This option only works
# if the daemon was configured with the --enable-command-args configure script
# option.
#
# *** ENABLING THIS OPTION IS A SECURITY RISK! ***
# Read the SECURITY file for information on some of the security implications
# of enabling this variable.
#
# Values: 0=do not allow arguments, 1=allow command arguments

dont_blame_nrpe=0



# DEBUGGING OPTION
# This option determines whether or not debugging messages are logged to the
# syslog facility.
# Values: 0=debugging off, 1=debugging on

debug=1



# COMMAND TIMEOUT
# This specifies the maximum number of seconds that the NRPE daemon will
# allow plugins to finish executing before killing them off.

command_timeout=60



# INCLUDE CONFIG FILE
# This directive allows you to include definitions from an external config file.

#include=<somefile.cfg>



# INCLUDE CONFIG DIRECTORY
# This directive allows you to include definitions from config files (with a
# .cfg extension) in one or more directories (with recursion).

#include_dir=<somedirectory>
#include_dir=<someotherdirectory>


digitalnerds 06-01-2007 07:24 AM

This happens because gcc doesn't link in the dynamic link loader in the program itself. You will need to supply the compiler and linker version (gcc --version and ld --version should work with GNU tools)
You have installed the statically linked version of openssl but still managed to get it linked to the dynamic link loader, which may or may not be present as a static library on your system. You may have to supply the libld as an extra argument to your LDFLAGS.

Code:

$ LDFLAGS=-ldl make nrpe
Credits for the solution to Andreas Ericsson @ www.op5.se

Warm Regards
Andy

neocontrol 06-01-2007 04:33 PM

I hate sounding like a newbie, but I forever will be for the next decade.

Should I being doing something like this?

Code:

./configure LDFLAGS=-ldl make nrpe
If I was supposed to do that, I got this in response.

Code:

./configure LDFLAGS=-ldl make nrpe
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... Invalid configuration `make': machine `make' not recognized
configure: error: /bin/sh ./config.sub make failed

If I should be using --build, --host, and --target, what would I be putting here? This is new stuff for me, so thanks for the help.

neocontrol 06-01-2007 05:34 PM

I also found this. Looks like it's not compatable with openssl version 0.9.8d

I happen to have version e and it looks like the same.


All times are GMT -5. The time now is 12:09 AM.