./configure is broken - /lib/cpp fails sanity check

Hi,

I first wanted to install my NIC drivers but it said:

Makefile:62: *** Linux kernel source not found.  Stop.

So I installed the kernel source: linux-source-2.6.18_2.6.18.dfsg.1-13etch5_all.deb

1) cd /usr/src
2) -xjvf linux-source.2.6.18.extension (forget what it was)
3) ln -s /usr/src/linux-source.2.6.18/ linux
4) cd linux
5) cp /boot/config-`uname -r` .

Then I did:

6) make menuconfig

And got this error:

comp:/usr/src/linux# make menuconfig
  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep.c:105:23: error: sys/types.h: No such file or directory
scripts/basic/fixdep.c:106:22: error: sys/stat.h: No such file or directory
scripts/basic/fixdep.c:107:22: error: sys/mman.h: No such file or directory
scripts/basic/fixdep.c:108:20: error: unistd.h: No such file or directory
scripts/basic/fixdep.c:109:19: error: fcntl.h: No such file or directory
scripts/basic/fixdep.c:110:20: error: string.h: No such file or directory
scripts/basic/fixdep.c:111:20: error: stdlib.h: No such file or directory
scripts/basic/fixdep.c:112:19: error: stdio.h: No such file or directory
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/syslimits.h:7,
                 from /usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:11,
                 from scripts/basic/fixdep.c:113:
/usr/lib/gcc/i486-linux-gnu/4.1.2/include/limits.h:122:61: error: limits.h: No such file or directory
scripts/basic/fixdep.c:114:19: error: ctype.h: No such file or directory
scripts/basic/fixdep.c:115:23: error: arpa/inet.h: No such file or directory
scripts/basic/fixdep.c: In function �usage�:
scripts/basic/fixdep.c:129: warning: implicit declaration of function �fprintf�
scripts/basic/fixdep.c:129: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:129: error: �stderr� undeclared (first use in this function)
scripts/basic/fixdep.c:129: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:129: error: for each function it appears in.)
scripts/basic/fixdep.c:130: warning: implicit declaration of function �exit�
scripts/basic/fixdep.c:130: warning: incompatible implicit declaration of built-in function �exit�
scripts/basic/fixdep.c: In function �print_cmdline�:
scripts/basic/fixdep.c:138: warning: implicit declaration of function �printf�
scripts/basic/fixdep.c:138: warning: incompatible implicit declaration of built-in function �printf�
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:141: error: �NULL� undeclared here (not in a function)
scripts/basic/fixdep.c: In function �grow_config�:
scripts/basic/fixdep.c:154: warning: implicit declaration of function �realloc�
scripts/basic/fixdep.c:154: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:156: warning: implicit declaration of function �perror�
scripts/basic/fixdep.c:156: warning: incompatible implicit declaration of built-in function �exit�
scripts/basic/fixdep.c: In function �is_defined_config�:
scripts/basic/fixdep.c:172: warning: implicit declaration of function �memcmp�
scripts/basic/fixdep.c: In function �define_config�:
scripts/basic/fixdep.c:185: warning: implicit declaration of function �memcpy�
scripts/basic/fixdep.c:185: warning: incompatible implicit declaration of built-in function �memcpy�
scripts/basic/fixdep.c: In function �use_config�:
scripts/basic/fixdep.c:204: error: �PATH_MAX� undeclared (first use in this function)
scripts/basic/fixdep.c:212: warning: incompatible implicit declaration of built-in function �memcpy�
scripts/basic/fixdep.c:218: warning: implicit declaration of function �tolower�
scripts/basic/fixdep.c:220: warning: incompatible implicit declaration of built-in function �printf�
scripts/basic/fixdep.c:204: warning: unused variable �s�
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:223: error: expected declaration specifiers or �...� before �size_t�
scripts/basic/fixdep.c: In function �parse_config_file�:
scripts/basic/fixdep.c:225: error: �len� undeclared (first use in this function)scripts/basic/fixdep.c:231: warning: implicit declaration of function �ntohl�
scripts/basic/fixdep.c:242: warning: implicit declaration of function �isalnum�
scripts/basic/fixdep.c: In function �strrcmp�:
scripts/basic/fixdep.c:255: warning: implicit declaration of function �strlen�
scripts/basic/fixdep.c:255: warning: incompatible implicit declaration of built-in function �strlen�
scripts/basic/fixdep.c: In function �do_config_file�:
scripts/basic/fixdep.c:266: error: storage size of �st� isn�t known
scripts/basic/fixdep.c:270: warning: implicit declaration of function �open�
scripts/basic/fixdep.c:270: error: �O_RDONLY� undeclared (first use in this function)
scripts/basic/fixdep.c:272: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:272: error: �stderr� undeclared (first use in this function)
scripts/basic/fixdep.c:274: warning: incompatible implicit declaration of built-in function �exit�
scripts/basic/fixdep.c:276: warning: implicit declaration of function �fstat�
scripts/basic/fixdep.c:278: warning: implicit declaration of function �close�
scripts/basic/fixdep.c:281: warning: implicit declaration of function �mmap�
scripts/basic/fixdep.c:281: error: �PROT_READ� undeclared (first use in this function)
scripts/basic/fixdep.c:281: error: �MAP_PRIVATE� undeclared (first use in this function)
scripts/basic/fixdep.c:281: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:288: error: too many arguments to function �parse_config_file�
scripts/basic/fixdep.c:290: warning: implicit declaration of function �munmap�
scripts/basic/fixdep.c:266: warning: unused variable �st�
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:295: error: expected declaration specifiers or �...� before �size_t�
scripts/basic/fixdep.c: In function �parse_dep_file�:
scripts/basic/fixdep.c:298: error: �len� undeclared (first use in this function)scripts/basic/fixdep.c:300: error: �PATH_MAX� undeclared (first use in this function)
scripts/basic/fixdep.c:302: warning: implicit declaration of function �strchr�
scripts/basic/fixdep.c:302: warning: incompatible implicit declaration of built-in function �strchr�
scripts/basic/fixdep.c:304: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:304: error: �stderr� undeclared (first use in this function)
scripts/basic/fixdep.c:305: warning: incompatible implicit declaration of built-in function �exit�
scripts/basic/fixdep.c:307: warning: incompatible implicit declaration of built-in function �memcpy�
scripts/basic/fixdep.c:308: warning: incompatible implicit declaration of built-in function �printf�
scripts/basic/fixdep.c:300: warning: unused variable �s�
scripts/basic/fixdep.c: In function �print_deps�:
scripts/basic/fixdep.c:337: error: storage size of �st� isn�t known
scripts/basic/fixdep.c:341: error: �O_RDONLY� undeclared (first use in this function)
scripts/basic/fixdep.c:343: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:343: error: �stderr� undeclared (first use in this function)
scripts/basic/fixdep.c:345: warning: incompatible implicit declaration of built-in function �exit�
scripts/basic/fixdep.c:349: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:353: error: �PROT_READ� undeclared (first use in this function)
scripts/basic/fixdep.c:353: error: �MAP_PRIVATE� undeclared (first use in this function)
scripts/basic/fixdep.c:353: warning: assignment makes pointer from integer without a cast
scripts/basic/fixdep.c:360: error: too many arguments to function �parse_dep_file�
scripts/basic/fixdep.c:337: warning: unused variable �st�
scripts/basic/fixdep.c: In function �traps�:
scripts/basic/fixdep.c:372: warning: incompatible implicit declaration of built-in function �fprintf�
scripts/basic/fixdep.c:372: error: �stderr� undeclared (first use in this function)
scripts/basic/fixdep.c:374: warning: incompatible implicit declaration of built-in function �exit�
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

I can not finish configuring the kernel source because of it.

If I try and compile anything with ./configure I get:

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

This is with debian etch.

I have headers installed, I have gcc installed, I have g++ installed.

do you have cpp installed?

I do have it installed

I think you will need some include and library files.

Have a look in /usr/include, there should be a ton of header files.

Do I post what is in there?

This should be a clue....

scripts/basic/fixdep.c:108:20: error: unistd.h: No such file or directory
scripts/basic/fixdep.c:109:19: error: fcntl.h: No such file or directory
scripts/basic/fixdep.c:110:20: error: string.h: No such file or directory
scripts/basic/fixdep.c:111:20: error: stdlib.h: No such file or directory
scripts/basic/fixdep.c:112:19: error: stdio.h: No such file or directory

I figure that's the libc6-dev package?

Sounds good!

I guess not : /

Could it be that my kernel source is improperly configured?

Because then we're kind of stuck in a loop...

Originally I was having errors during "make menuconfig" that had me trying to install glibc, the latest gcc, g++, cpp, (I have them, but one update behind) which produced the 'lib/cpp sanity check' errors.

Could cpp be missing a symbolic link? I wouldn't know where to start with that, and I doubt it but it's food for thought.

Anyway, when I try and run 'make menuconfig' from /usr/src/linux I get:

name:/usr/src/linux# make menuconfig
  HOSTCC  scripts/basic/fixdep
In file included from /usr/local/include/features.h:354,
                 from /usr/include/sys/types.h:27,
                 from scripts/basic/fixdep.c:105:
/usr/local/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

In /usr/local/include/gnu/ there is a file called 'libc-version.h' and 'stubs.h'. Is it expecting stubs-32.h? I don't know where to get it or what has it.

So... what do I do?

Well I guess I 'cheated' but it's resolved.

What happened is I thought I'd try installing wine, and it said a package was missing so I installed it via apt-get install... something to do with a digital camera, I don't remember the name and it installed a lot of packages (which I'd been trying to install before) along with it.

Then I had a problem with my graphics so I installed the latest graphics drivers which also compiled a kernel for me.

Heh. It works now at least.

By hook or by crook, eh?

Hey,

I've got the same problem with this CPP.

I'm running Debian and I want to develop some software. When I try to compile, he gives a lot of errors:

webcar-host@debian:/var/www/webcar$ gcc -c com.c -o com
In file included from /usr/local/include/features.h:354,
from /usr/include/stdio.h:28,
from com.c:1:
/usr/local/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
In file included from com.c:1:
/usr/include/stdio.h:46: error: expected �=', �,', �;', �asm' or �__attribute__' before �typedef'
/usr/include/stdio.h:51: error: expected �=', �,', �;', �asm' or �__attribute__' before �__USING_NAMESPACE_STD'
In file included from /usr/include/_G_config.h:44,
from /usr/include/libio.h:32,
from /usr/include/stdio.h:72,
from com.c:1:
/usr/include/gconv.h:176: error: expected �:', �,', �;', �}' or �__attribute__' before �__flexarr'
In file included from com.c:1:
/usr/include/stdio.h:88: error: expected �=', �,', �;', �asm' or �__attribute__' before �typedef'
In file included from com.c:1:
/usr/include/stdio.h:142: error: expected �=', �,', �;', �asm' or �__attribute__' before �extern'
/usr/include/stdio.h:152: error: expected �=', �,', �;', �asm' or �__attribute__' before �extern'
/usr/include/stdio.h:158: error: expected �=', �,', �;', �asm' or �__attribute__' before �__BEGIN_NAMESPACE_STD'
/usr/include/stdio.h:184: error: expected �=', �,', �;', �asm' or �__attribute__' before �extern'
/usr/include/stdio.h: In function �tempnam':

and so on...

So I thought maybe I need to install the gnu C lib. And when configuring this one, I get the same error message as you. I checked all the programs (gcc, cpp, make, binutils, libc6-dev) and they are all the newest version possible. So maybe using the command 'configure --disable-sanity-checks' could help. But still the same.

The problem is, that in stdio.h, he wants to include features.h, but not the one in /usr/include, but the one in /usr/local/include. And in this header, when you include gnu/stubs.h, this file wants to include a file that is not existing. But in /usr/include/gnu/stubs.h, there are just some defs.

So, how do I get the configure to use only those headers (from /usr/include) --> which options must I add.

Thanks for any reply...

Javi

Well, after a lot of research, basically the thing to do is reinstall the complete OS. Apparently installing different versions of for example gcc or cpp creates errors because every version has its one library. Those libraries are thus not compatible and what you see are errors that cannot be explained well.

So I removed everything off my hard-disk, and restarted. Installed the necessary packages for c-development (build-essential should do the job) and checked some packages were still missing. After installing some libraries (libc ect...), the compiling worked.

Greetz,
ElJavi