LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   [RHEL] nagios-plugin install error - C preprocessor "/lib/cpp" fails sanity check (http://www.linuxquestions.org/questions/linux-software-2/%5Brhel%5D-nagios-plugin-install-error-c-preprocessor-lib-cpp-fails-sanity-check-765554/)

samengr 10-30-2009 08:47 AM

[RHEL] nagios-plugin install error - C preprocessor "/lib/cpp" fails sanity check
 
Hi I am facing an issue while installing nagios-plugin at a remote linux machine.

Machine specs are

OS: RHEL5
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.2 (Tikanga)
uname -m = i686
uname -r = 2.6.18-92.el5PAE
Ngios-plugin-1.4.14


# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios- group=nagios --with-cgiurl=nagios/cgi-bin
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity checkSee `config.log' for more details.


and in config.log I can see the error


/usr/include/bits/local_lim.h:36:26: error: linux/limits.h: No such file or directory
configure:4378: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "nagios-plugins"
| #define PACKAGE_TARNAME "nagios-plugins"
| #define PACKAGE_VERSION "1.4.14"
| #define PACKAGE_STRING "nagios-plugins 1.4.14"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "nagios-plugins"
| #define VERSION "1.4.14"
| #define _GNU_SOURCE 1
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error

configure:4372: gcc -E conftest.c
In file included from /usr/include/bits/posix1_lim.h:153,
from /usr/include/limits.h:145,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/limits.h:122,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/syslimits.h:7,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/limits.h:11,
from conftest.c:12:
/usr/include/bits/local_lim.h:36:26: error: linux/limits.h: No such file or directory
configure:4378: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "nagios-plugins"
| #define PACKAGE_TARNAME "nagios-plugins"
| #define PACKAGE_VERSION "1.4.14"
| #define PACKAGE_STRING "nagios-plugins 1.4.14"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "nagios-plugins"
| #define VERSION "1.4.14"
| #define _GNU_SOURCE 1
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error
configure:4372: gcc -E -traditional-cpp conftest.c
In file included from /usr/include/features.h:330,
from /usr/include/assert.h:37,
from conftest.c:15:
/usr/include/sys/cdefs.h:32: error: #error "You need a ISO C conforming compiler to use the glibc headers"
configure:4378: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "nagios-plugins"
| #define PACKAGE_TARNAME "nagios-plugins"
| #define PACKAGE_VERSION "1.4.14"
| #define PACKAGE_STRING "nagios-plugins 1.4.14"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "nagios-plugins"
| #define VERSION "1.4.14"
| #define _GNU_SOURCE 1
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif

/usr/include/sys/cdefs.h:32: error: #error "You need a ISO C conforming compiler to use the glibc headers"
configure:4378: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "nagios-plugins"
| #define PACKAGE_TARNAME "nagios-plugins"
| #define PACKAGE_VERSION "1.4.14"
| #define PACKAGE_STRING "nagios-plugins 1.4.14"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "nagios-plugins"
| #define VERSION "1.4.14"
| #define _GNU_SOURCE 1
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error
configure:4372: gcc -E -traditional-cpp conftest.c
In file included from /usr/include/features.h:330,
from /usr/include/assert.h:37,
from conftest.c:15:
/usr/include/sys/cdefs.h:32: error: #error "You need a ISO C conforming compiler to use the glibc headers"
configure:4378: $? = 1

configure:4378: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "nagios-plugins"
| #define PACKAGE_TARNAME "nagios-plugins"
| #define PACKAGE_VERSION "1.4.14"
| #define PACKAGE_STRING "nagios-plugins 1.4.14"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "nagios-plugins"
| #define VERSION "1.4.14"
| #define _GNU_SOURCE 1
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error
configure:4372: /lib/cpp conftest.c
In file included from /usr/include/bits/posix1_lim.h:153,
from /usr/include/limits.h:145,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/limits.h:122,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/syslimits.h:7,
from /usr/lib/gcc/i386-redhat-linux/4.1.1/include/limits.h:11,
from conftest.c:12:
/usr/include/bits/local_lim.h:36:26: error: linux/limits.h: No such file or directory




It seems to me glibc issue as I found error "error: #error "You need a ISO C conforming compiler to use the glibc headers"

but I do have glibc installed in this machine

# yum list | grep glibc
This system is not registered with RHN.
RHN support will be disabled.
compat-glibc.i386 1:2.3.4-2.26 installed
compat-glibc-headers.i386 1:2.3.4-2.26 installed
glibc.i686 2.5-24 installed
glibc-common.i386 2.5-24 installed
glibc-devel.i386 2.5-24 installed
glibc-headers.i386 2.5-24 installed
glibc.i386 2.5-12 localinfo
glibc.i686 2.5-12 localinfo
glibc-common.i386 2.5-12 localinfo
glibc-devel.i386 2.5-12 localinfo
glibc-headers.i386 2.5-12 localinfo
glibc-utils.i386 2.5-12 localinfo


may be helpful output:

# yum list | grep gcc
This system is not registered with RHN.
RHN support will be disabled.
compat-gcc-34.i386 3.4.6-4 installed
compat-gcc-34-c++.i386 3.4.6-4 installed
compat-gcc-34-g77.i386 3.4.6-4 installed
compat-libgcc-296.i386 2.96-138 installed
gcc.i386 4.1.1-52.el5 installed
gcc-c++.i386 4.1.1-52.el5 installed
gcc-gfortran.i386 4.1.1-52.el5 installed
gcc-gnat.i386 4.1.1-52.el5 installed
gcc-java.i386 4.1.1-52.el5 installed
gcc-objc.i386 4.1.1-52.el5 installed
gcc-objc++.i386 4.1.1-52.el5 installed
libgcc.i386 4.1.2-42.el5 installed
libgcc.i386 4.1.1-52.el5 localinf




Any idea how can I fix this issue?

Thanks.

EricTRA 10-30-2009 08:55 AM

Hi,

Do you have the linux headers for your kernel installed? Looks to me that they're missing although I might be mistaking.

Kind regards,

Eric

lazlow 10-30-2009 09:40 AM

A lot of your packages seem to be a little dated. Current kernel is -164, gcc stuff is currently at 4.1.2-46, probably others as well.

You might also want to pull the source rpm from epel or rpmforge (1.4.13 is available from both) and look at the spec file to see what tweaks and patches were needed to get it to run on el5. This is always a great starting point.

samengr 11-02-2009 04:18 AM

Yeh I know system packages are not up to date but I have rest of the systems installed by the same media. My OS are not registered with RHN so I cant update them.

Please have a look the output

[root@dwweb06 ~]# rpm -qa | grep kernel
kernel-PAE-devel-2.6.18-92.el5
kernel-PAE-2.6.18-92.el5

******

# yum list | grep kernel
This system is not registered with RHN.
RHN support will be disabled.
kernel-PAE.i686 2.6.18-92.el5 installed
kernel-PAE-devel.i686 2.6.18-92.el5 installed
kernel.i686 2.6.18-8.el5 localinfo
kernel-PAE.i686 2.6.18-8.el5 localinfo
kernel-PAE-devel.i686 2.6.18-8.el5 localinfo
kernel-devel.i686 2.6.18-8.el5 localinfo
kernel-doc.noarch 2.6.18-8.el5 localinfo
kernel-headers.i386 2.6.18-8.el5 localinfo
kernel-xen.i686 2.6.18-8.el5 localinfo
kernel-xen-devel.i686 2.6.18-8.el5 localinfo


It seems to me kernel and kernel headers are not installed. As this system is in a production environment so my concern is at this time whould it be any issue if I install the kernel and kernel headers? Realistically I can't take risk with this system.

waiting for suggestions.

Many thanks.

samengr 11-02-2009 04:30 AM

Solved -
 
Thanks for your help guys. When I installed the kernel-headers after that nagios-plugins installed smoothly.

Thanks.

lazlow 11-02-2009 11:04 AM

Why run RHEL without support and updates? Centos is RHEL with the logos removed(it is built using RHEL source rpms). It is free to install/update(unlike RHEL) and it is binary compatible with RHEL.


All times are GMT -5. The time now is 05:17 PM.