Nagios make all fails with


#1

I’m trying to install Nagios 2.5 on xxx using:

./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios --enable-embedded-perl --with-perlcache

That runs fine and tells me its all good. then I do a ‘make all’ and I get:

/usr/bin/ld: cannot find -lperl
collect2: ld returned 1 exit status
make[1]: *** [nagios] Error 1
make[1]: Leaving directory `/home/billw/nagios-2.5/base’
make: *** [all] Error 2

Any ideas? I am upgrading from V2.0 as I need to optimize it so wanted to recompile with embedded perl. I now have it running without embedded perl, but that defeats the object of upgrading


#2

[quote=“wjw”]
./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios --enable-embedded-perl --with-perlcache

That runs fine and tells me its all good. [/quote]

I doubt that. Run it again, but this time, note that is says it can’t find perl libs or something like that.

Also, why are you doing this?
–with-command-group=nagios
That is NOT correct, and defeats any security intended for the command file.
Read the docs again, on how to define that option.


#3

These are the results from the inital configure:

[blockquote]larry:/home/billw/nagios-2.5# ./configure --prefix=/usr/local/nagios2 --with-cgiurl=/nagios2/cgi-bin --with-htmurl=/nagios2 --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios --enable-embedded-perl --with-perlcache
checking for a BSD-compatible install… /usr/bin/install -c
checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ANSI C… none needed
checking whether make sets $(MAKE)… yes
checking for strip… /usr/bin/strip
checking how to run the C preprocessor… gcc -E
checking for egrep… grep -E
checking for ANSI C header files… yes
checking whether time.h and sys/time.h may both be included… yes
checking for sys/wait.h that is POSIX.1 compatible… yes
checking for sys/types.h… yes
checking for sys/stat.h… yes
checking for stdlib.h… yes
checking for string.h… yes
checking for memory.h… yes
checking for strings.h… yes
checking for inttypes.h… yes
checking for stdint.h… yes
checking for unistd.h… yes
checking arpa/inet.h usability… yes
checking arpa/inet.h presence… yes
checking for arpa/inet.h… yes
checking ctype.h usability… yes
checking ctype.h presence… yes
checking for ctype.h… yes
checking dirent.h usability… yes
checking dirent.h presence… yes
checking for dirent.h… yes
checking errno.h usability… yes
checking errno.h presence… yes
checking for errno.h… yes
checking fcntl.h usability… yes
checking fcntl.h presence… yes
checking for fcntl.h… yes
checking getopt.h usability… yes
checking getopt.h presence… yes
checking for getopt.h… yes
checking grp.h usability… yes
checking grp.h presence… yes
checking for grp.h… yes
checking limits.h usability… yes
checking limits.h presence… yes
checking for limits.h… yes
checking math.h usability… yes
checking math.h presence… yes
checking for math.h… yes
checking netdb.h usability… yes
checking netdb.h presence… yes
checking for netdb.h… yes
checking netinet/in.h usability… yes
checking netinet/in.h presence… yes
checking for netinet/in.h… yes
checking pthread.h usability… yes
checking pthread.h presence… yes
checking for pthread.h… yes
checking pthreads.h usability… no
checking pthreads.h presence… no
checking for pthreads.h… no
checking pwd.h usability… yes
checking pwd.h presence… yes
checking for pwd.h… yes
checking regex.h usability… yes
checking regex.h presence… yes
checking for regex.h… yes
checking signal.h usability… yes
checking signal.h presence… yes
checking for signal.h… yes
checking socket.h usability… no
checking socket.h presence… no
checking for socket.h… no
checking for string.h… (cached) yes
checking for strings.h… (cached) yes
checking sys/mman.h usability… yes
checking sys/mman.h presence… yes
checking for sys/mman.h… yes
checking for sys/types.h… (cached) yes
checking sys/time.h usability… yes
checking sys/time.h presence… yes
checking for sys/time.h… yes
checking sys/resource.h usability… yes
checking sys/resource.h presence… yes
checking for sys/resource.h… yes
checking for sys/wait.h… (cached) yes
checking sys/socket.h usability… yes
checking sys/socket.h presence… yes
checking for sys/socket.h… yes
checking for sys/stat.h… (cached) yes
checking sys/timeb.h usability… yes
checking sys/timeb.h presence… yes
checking for sys/timeb.h… yes
checking sys/un.h usability… yes
checking sys/un.h presence… yes
checking for sys/un.h… yes
checking sys/ipc.h usability… yes
checking sys/ipc.h presence… yes
checking for sys/ipc.h… yes
checking sys/msg.h usability… yes
checking sys/msg.h presence… yes
checking for sys/msg.h… yes
checking sys/poll.h usability… yes
checking sys/poll.h presence… yes
checking for sys/poll.h… yes
checking syslog.h usability… yes
checking syslog.h presence… yes
checking for syslog.h… yes
checking uio.h usability… no
checking uio.h presence… no
checking for uio.h… no
checking for unistd.h… (cached) yes
checking for an ANSI C-conforming const… yes
checking whether struct tm is in sys/time.h or time.h… time.h
checking for struct tm.tm_zone… yes
checking for mode_t… yes
checking for pid_t… yes
checking for size_t… yes
checking return type of signal handlers… void
checking for uid_t in sys/types.h… yes
checking type of array argument to getgroups… gid_t
checking for initgroups… yes
checking for setenv… yes
checking for strdup… yes
checking for strstr… yes
checking for strtoul… yes
checking for unsetenv… yes
checking for type of socket size… size_t
checking for pthread_create in -lcma… no
checking for pthread_create in -lpthread… yes
checking for library containing nanosleep… none required
checking for mail… /usr/bin/mail
Init script directory: /etc/init.d
We’ll use default routines (in xdata/xsddefault.) for status data I/O…
We’ll use default routines (in xdata/xcddefault.
) for comment data I/O…
We’ll use default routines (in xdata/xrddefault.) for retention data I/O…
We’ll use template-based routines (in xdata/xodtemplate.
) for object data I/O…
We’ll use default routines (in xdata/xpddefault.) for performance data I/O…
We’ll use default routines (in xdata/xdddefault.
) for scheduled downtime data I/O…
checking for main in -liconv… no
checking for gdImagePng in -lgd (order 1)… yes
GD library was found!
checking ltdl.h usability… no
checking ltdl.h presence… no
checking for ltdl.h… no
checking dlfcn.h usability… yes
checking dlfcn.h presence… yes
checking for dlfcn.h… yes
checking for dlopen in -ldl… yes
checking for extra flags needed to export symbols… -Wl,-export-dynamic
checking for linker flags for loadable modules… -shared
creating base/perlxsi.c
Embedded Perl interpreter will be compiled in…
Internally compiled Perl scripts will be cached…
Using threaded perl
checking for traceroute… /usr/sbin/traceroute
checking for snprintf… yes
checking for type va_list… yes
checking for perl… /usr/bin/perl
configure: creating ./config.status
config.status: creating Makefile
config.status: creating subst
config.status: creating pkginfo
config.status: creating base/Makefile
config.status: creating common/Makefile
config.status: creating contrib/Makefile
config.status: creating cgi/Makefile
config.status: creating html/Makefile
config.status: creating module/Makefile
config.status: creating include/Makefile
config.status: creating xdata/Makefile
config.status: creating daemon-init
config.status: creating html/index.html
config.status: creating html/side.html
config.status: creating include/config.h
config.status: creating include/snprintf.h
config.status: include/snprintf.h is unchanged
config.status: creating include/nagios.h
config.status: creating include/cgiutils.h
config.status: include/cgiutils.h is unchanged

Creating sample config files in sample-config/ …

*** Configuration summary for nagios 2.5 07-13-2006 ***:

General Options:

    Nagios executable:  nagios
    Nagios user/group:  nagios,nagios
   Command user/group:  nagios,nagios
        Embedded Perl:  yes, with caching
         Event Broker:  yes
    Install ${prefix}:  /usr/local/nagios2
            Lock file:  ${prefix}/var/nagios.lock
       Init directory:  /etc/init.d
              Host OS:  linux-gnu

Web Interface Options:

             HTML URL:  [localhost/nagios2/](http://localhost/nagios2/)
              CGI URL:  [localhost/nagios2/cgi-bin/](http://localhost/nagios2/cgi-bin/)

Traceroute (used by WAP): /usr/sbin/traceroute

Review the options above for accuracy. If they look okay,
type ‘make all’ to compile the main program and CGIs.[/blockquote]

I can’t see any libraries missing? Also security wise, I’m not too worried with that right now as this server is on our LAN.

Thanks,

Bill


#4

lists.cistron.nl/pipermail/freer … 15811.html

omegahat.org/pipermail/omega … 00222.html