Monday, August 30, 2010

configure: error: C preprocessor "/lib/cpp" fails sanity check + Resolved

Guys,

I got that error messages when I was going to configure any software on the linux server. I was unable to execute easyapache or ./configure since it was throwing following error messages.

=====
configure: error: in `/home/cpeasyapache/src/httpd-2.2.16/srclib/apr':
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
configure failed for srclib/apr
=====
configure: error: C preprocessor "/lib/cpp" fails sanity check
=====

I have investigated the issue and got clue from config.log. It has stated that timer.h is missing. This has actually happened due to recently uninstall of one kernel. I got following error message at config.log.

====
/usr/include/bits/local_lim.h:36:26: error: linux/limits.h: No such file or
directory
====
configure:8402: gcc -E -traditional-cpp -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
conftest.c
In file included from /usr/include/features.h:330,
from /usr/include/assert.h:37,
from conftest.c:13:
/usr/include/sys/cdefs.h:32: error: #error "You need a ISO C conforming
compiler to use the glibc he
====

So, I have searched in Google and didn't get any satisfactory solution. Someone told to use following command to reinstall compilers.

=====
yum install gcc cpp gcc-c++
=====

It has fixed the issue for some others guys. I removed the packages and reinstalled them but I was still getting the error message.

From the config.log it's clear that header.h file missing or corrupted. So, I thought that few kernel header files has been removed during uninstall the kernel(another kernel).

I have reinstalled the kernel headers and it fixed the sanity error :)

Here is the command to install the kernel-headers :

=====
yum install kernel-headers-$(uname -r)
=====

You can install the kernel headers from rpm. Here are some sources.

====
http://rpm.pbone.net/index.php3/stat/4/idpl/14206063/dir/centos_5/com/kernel-headers-2.6.18-194.8.1.el5.x86_64.rpm.html
http://linux.web.psi.ch/dist/scientific/5/kernel/2.6.18-194.8.1.el5/
====

Please make it sure that you're installing kernel-headers for exact version of kernel which has installed on the system. (You can search in google like : download kernel-headers-mention_ver_here + 64 bit or 32 bit )

That's it. Try :)

No comments:

Post a Comment