LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   ./configure sanity check (https://www.linuxquestions.org/questions/slackware-14/configure-sanity-check-334729/)

xushi 06-17-2005 07:00 PM

./configure sanity check
 
Hmm, i just noticed today that i can't compile anything anymore.. All i get is a c++ sanity check when trying to ./configure.

The last update i did was updating to slackware current (the updates that came out this week)

Now, whenever i try to compile anything, i get this error in ./configure. For my example, i will show you amarok's compilation... But it's happening everywhere,
Code:

# ./configure --prefix=`kde-config --prefix` --enable-mysql
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for kde-config... /opt/kde/bin/kde-config
checking where to install... /opt/kde (as requested)
checking for style of include used by make... 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 dependency style of gcc... gcc3
checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.

And just incase the config.log might help, here's a copy
http://xushi.co.uk/xushi/sv/config.log

egag 06-17-2005 07:28 PM

---------
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
---------

do you have a file " /usr/include/limits.h " ?
( it's there on my sys. )

egag

egag 06-17-2005 07:33 PM

this is strange...

--------
/usr/include/sys/cdefs.h:31: #error "You need a ISO C conforming compiler to use the glibc headers"
--------

and from " /usr/include/sys/cdefs.h " :
--------
/* The GNU libc does not support any K&R compilers or the traditional mode
of ISO C compilers anymore. Check for some of the combinations not
anymore supported. */
#if defined __GNUC__ && !defined __STDC__
# error "You need a ISO C conforming compiler to use the glibc headers"
#endif
---------

what things did you install/upgrade before this started ?

egag

xushi 06-17-2005 07:58 PM

Quote:

Originally posted by egag

do you have a file " /usr/include/limits.h " ?
Yes i do,
Code:

# ls -l /usr/include/limits.h
-rw-r--r--  1 root root 4550 2005-05-15 20:56 /usr/include/limits.h

Quote:

what things did you install/upgrade before this started ?
Hmm, the only things that i can remember upgrading are the new slackware-current upgrades that have been released this week. Thats it really..

Also, i upgraded to 2.6.11.12 if that helps...

gbonvehi 06-18-2005 02:38 AM

/usr/include/limits.h is not linux/limits.h
linux/limits.h is found on kernel sources and kernel-headers package. I think you're looking for the latest.

xushi 06-18-2005 04:07 AM

Quote:

Originally posted by gbonvehi
/usr/include/limits.h is not linux/limits.h
linux/limits.h is found on kernel sources and kernel-headers package. I think you're looking for the latest.

Hmm, i don't quite understand what to do next. Does this mean i'm missing something from the kernel itself?

gbonvehi 06-18-2005 04:24 AM

Nope, do you have the kernel-headers package installed? If not, install it.

PS: This is a not a general rule, but often C/C++ programs has a default include directory, on most programs it's /usr/include.
When a program includes "limits.h" it will look at /usr/include and the full file name will be /usr/include/limits.h, if it includes "linux/limits.h" it will look at /usr/include so it will become /usr/include/linux/limits.h. I hope you get the point.

xushi 06-18-2005 06:25 AM

Quote:

Originally posted by gbonvehi
Nope, do you have the kernel-headers package installed? If not, install it.
edit: not 2.4's headers.. i removed them thinking i don't need them anymore since i'm on 2.6

But anyway, i thought of recompiling the kernel again, and its hapenning there too.. heh
Code:

root@xushitop:/usr/src/linux# make
  CHK    include/linux/version.h
  HOSTCC  scripts/basic/fixdep
In file included from /usr/include/bits/posix1_lim.h:153,
                from /usr/include/limits.h:144,
                from /usr/lib/gcc-lib/i486-slackware-linux/3.3.5/include/limits.h:122,
                from /usr/lib/gcc-lib/i486-slackware-linux/3.3.5/include/syslimits.h:7,
                from /usr/lib/gcc-lib/i486-slackware-linux/3.3.5/include/limits.h:11,
                from scripts/basic/fixdep.c:113:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
In file included from /usr/include/sys/socket.h:35,
                from /usr/include/netinet/in.h:24,
                from /usr/include/arpa/inet.h:23,
                from scripts/basic/fixdep.c:115:
/usr/include/bits/socket.h:304:24: asm/socket.h: No such file or directory
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2
root@xushitop:/usr/src/linux#

Does that mean i have to get back to 2.4.x, fix something, and return to 2.6.11.12?


Quote:

PS: This is a not a general rule, but often C/C++ programs has a default include directory, on most programs it's /usr/include.
When a program includes "limits.h" it will look at /usr/include and the full file name will be /usr/include/limits.h, if it includes "linux/limits.h" it will look at /usr/include so it will become /usr/include/linux/limits.h. I hope you get the point.
Yep, makes sense. I was just enquiring more about how/why it actually occured so suddenly.. hmm.

xushi 06-18-2005 06:32 AM

Hmm, installing
kernel-headers-2.4.31-i386-1.tgz

Seems to have solved the problems. But i'm still confused.. Why do i need the 2.4 headers? i've been 2.4 free and on 2.6 since 2.6.9

gbonvehi 06-18-2005 04:47 PM

You can use kernel-headers 2.6 package from testing. However, read the warning on testing about using those.


All times are GMT -5. The time now is 09:59 PM.