Problems compiling nrpe on Tru64 UNIX ...

From: Bob Palladino (bob@palladino.us)
Date: Thu Nov 04 2004 - 16:29:15 EST


Dear Managers,

I need some advise from anyone who has successfully compiled nrpe on Tru64
UNIX.
The nrpe software is an add-on for the NAGIOS software. It allows a
NAGIOS server to contact the local system; run local monitoring
scripts/programs on it; and pass back the outcome to the remote NAGIOS
server.

I am running into problems with the configure script for nrpe, I then
encounter problems during the make. I am using the standard Dec compiler
shipped with Tru64 UNIX. The Gnu C compiler is not installed on the
system. I am looking to build nrpe for the following Tru64 UNIX
versions: 5.1B 5.1A and 4.0F.

Any suggestions on how to get around this issue would be appreciated.

I plan on running nrpe on the Tru64 UNIX systems along with some local
plug-ins. The standard plug-ins compile OK on Tru64, but the nrpe
component does not configure or compile correctly. Any suggestions would
be appreciated.

Here is a short summary description of nrpe:

NRPE - This program runs as a background process on the remote
host and processes command
                execution requests from the check_nrpe plugin on the Nagios host. Upon
receiving a plugin
                      request from an authorized host, it will execute the
command line associated with the
                      command name it received and send the program output
and return code back to the
                      check_nrpe plugin.

I have been able to successfully compile and run nrpe on a Solaris 9 system
using gcc.

When I try configuring nrpe on my Tru64 UNIX system, I get these errors
below during the configure step.

---Bob

Here is the configure output:

root@weathertop $ cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:575: checking for a BSD compatible install
configure:632: checking for gcc
configure:662: checking for cc
configure:745: checking whether the C compiler (cc ) works
configure:761: cc -o conftest conftest.c 1>&5
configure:787: checking whether the C compiler (cc ) is a cross-compiler
configure:792: checking whether we are using GNU C
configure:801: cc -E conftest.c
configure:820: checking whether cc accepts -g
configure:852: checking whether make sets ${MAKE}
configure:880: checking how to run the C preprocessor
configure:901: cc -E conftest.c >/dev/null 2>conftest.out
configure:960: checking for ANSI C header files
configure:973: cc -E conftest.c >/dev/null 2>conftest.out
configure:1040: cc -o conftest -g conftest.c 1>&5
configure:1064: checking whether time.h and sys/time.h may both be included
configure:1078: cc -c -g conftest.c 1>&5
configure:1099: checking for sys/wait.h that is POSIX.1 compatible
configure:1120: cc -c -g conftest.c 1>&5
configure:1144: checking for ctype.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for dirent.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for errno.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for fcntl.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for getopt.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for grp.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for inttypes.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for netdb.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for pwd.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for signal.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for stdint.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
cc: Error: configure, line 1150: Cannot find file <stdint.h> specified in
#include directive. (noinclfile)
#include <stdint.h>
-^
configure: failed program was:
#line 1149 "configure"
#include "confdefs.h"
#include <stdint.h>
configure:1144: checking for strings.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for string.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for syslog.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for unistd.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for arpa/inet.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for netinet/in.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for sys/types.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for sys/time.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for sys/resource.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for sys/wait.h
configure:1144: checking for sys/socket.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1144: checking for sys/stat.h
configure:1154: cc -E conftest.c >/dev/null 2>conftest.out
configure:1182: checking for working const
configure:1236: cc -c -g conftest.c 1>&5
cc: Warning: configure, line 1212: The scalar variable "t" is fetched but
not initialized. And there may be other such fetches of this variable that
have not been reported in this compilation. (uninit1)
   *t++ = 0;
---^
cc: Warning: configure, line 1227: The scalar variable "b" is fetched but
not initialized. And there may be other such fetches of this variable that
have not been reported in this compilation. (uninit1)
   struct s *b; b->j = 5;
---------------^
configure:1257: checking whether struct tm is in sys/time.h or time.h
configure:1270: cc -c -g conftest.c 1>&5
configure:1291: checking for mode_t
configure:1324: checking for pid_t
configure:1357: checking for size_t
configure:1390: checking return type of signal handlers
configure:1412: cc -c -g conftest.c 1>&5
configure:1431: checking for uid_t in sys/types.h
configure:1465: checking type of array argument to getgroups
configure:1498: cc -o conftest -g conftest.c 1>&5
configure:1537: checking size of int
configure:1556: cc -o conftest -g conftest.c 1>&5
configure:1576: checking size of short
configure:1595: cc -o conftest -g conftest.c 1>&5
configure:1615: checking size of long
configure:1634: cc -o conftest -g conftest.c 1>&5
configure:1655: checking for uint32_t
configure:1688: checking for u_int32_t
configure:1751: checking for int32_t
configure:1808: checking for main in -lnsl
configure:1823: cc -o conftest -g conftest.c -lnsl 1>&5
ld:
Can't locate file for: -lnsl
configure: failed program was:
#line 1816 "configure"
#include "confdefs.h"

int main() {
main()
; return 0; }
configure:1844: checking for socket in -lsocket
configure:1863: cc -o conftest -g conftest.c -lsocket 1>&5
ld:
Can't locate file for: -lsocket
configure: failed program was:
#line 1852 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply. */
char socket();

int main() {
socket()
; return 0; }
configure:1887: checking for strdup
configure:1915: cc -o conftest -g conftest.c 1>&5
configure:1887: checking for strstr
configure:1915: cc -o conftest -g conftest.c 1>&5
configure:1887: checking for strtoul
configure:1915: cc -o conftest -g conftest.c 1>&5
configure:1887: checking for initgroups
configure:1915: cc -o conftest -g conftest.c 1>&5
configure:1941: checking for type of socket size
configure:1953: cc -c -g conftest.c 1>&5
cc: Warning: configure, line 1949: In the initializer for a, "(size_t
...)0" of type "pointer to unsigned long", is being converted to "int".
(cvtdiftypes)
int a = send(1, (const void *)0, (size_t *) 0, (int *) 0);
---------------------------------^
cc: Warning: configure, line 1949: In the initializer for a, "(int ...)0"
of type "pointer to int", is being converted to "int". (cvtdiftypes)
int a = send(1, (const void *)0, (size_t *) 0, (int *) 0);
-----------------------------------------------^
configure:2014: checking for SSL
configure:2057: checking for Kerberos include files
configure:2127: checking for perl
$

Here is what was displayed in the terminal session:

root@weathertop $ ./configure
checking for a BSD compatible install... ./install-sh -c
checking for gcc... no
checking for cc... cc
checking whether the C compiler (cc ) works... yes
checking whether the C compiler (cc ) is a cross-compiler... no
checking whether we are using GNU C... no
checking whether cc accepts -g... yes
checking whether make sets ${MAKE}... yes
checking how to run the C preprocessor... cc -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 ctype.h... yes
checking for dirent.h... yes
checking for errno.h... yes
checking for fcntl.h... yes
checking for getopt.h... yes
checking for grp.h... yes
checking for inttypes.h... yes
checking for netdb.h... yes
checking for pwd.h... yes
checking for signal.h... yes
checking for stdint.h... no
checking for strings.h... yes
checking for string.h... yes
checking for syslog.h... yes
checking for unistd.h... yes
checking for arpa/inet.h... yes
checking for netinet/in.h... yes
checking for sys/types.h... yes
checking for sys/time.h... yes
checking for sys/resource.h... yes
checking for sys/wait.h... (cached) yes
checking for sys/socket.h... yes
checking for sys/stat.h... yes
checking for working const... yes
checking whether struct tm is in sys/time.h or time.h... time.h
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 size of int... 4
checking size of short... 2
checking size of long... 8
checking for uint32_t... no
checking for u_int32_t... no
checking for int32_t... no
checking for main in -lnsl... no
checking for socket in -lsocket... no
checking for strdup... yes
checking for strstr... yes
checking for strtoul... yes
checking for initgroups... yes
checking for type of socket size... size_t
checking for SSL... SSL found in /usr/ssl

*** Generating DH Parameters for SSL/TLS ***
warning, not much extra random data, consider using the -rand option
Generating DH parameters, 512 bit long safe prime, generator 2
This is going to take a long time
......+................+.......................................................+.....................+..............................+................................................+..................................+......+..............................................................++*++*++*++*++*++*
/dev/null: Error number 79 occurred
checking for Kerberos include files... could not find include files
checking for perl... /usr/bin/perl
creating ./config.status
creating Makefile
creating src/Makefile
creating subst
creating common/config.h
common/config.h is unchanged

*** Configuration summary for nrpe 2.0 09-08-2003 ***:

  General Options:
  -------------------------
  NRPE port: 5666
  NRPE user: nagios
  NRPE group: nagios

Review the options above for accuracy. If they look okay,
type 'make all' to compile the NRPE daemon and client.

$



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:50:11 EDT