LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   make menuconfig fails (http://www.linuxquestions.org/questions/linux-software-2/make-menuconfig-fails-411772/)

pafrica 02-04-2006 11:46 PM

make menuconfig fails
 
hi all,

i've downloaded the latest kernel source and unpacked it successfully but when i try to do make menuconfig, it fails with the error:

Code:

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.6/include/limits.h:122,
                from /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/include/syslimits.h:7,
                from /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/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

i can rule out a corrupt download or insufficient privileges because md5 sum is good and i do this as root.

ive checked for the existence of these two files:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
/usr/include/bits/socket.h:304:24: asm/socket.h: No such file or directory
and they dont exist. at least, they dont exist in /usr/include/bits/linux/ and /usr/include/bits/asm. although, they exist in /home/z71/src/linux-2.6.15.2/include.
i tried copying them into where they are expected to be in, but that doesnt work either.

i might have fudged some symlink or include file somewhere. can anyone help?

bulliver 02-05-2006 04:55 AM

Try a "make depclean" then run menuconfig again.

pafrica 02-05-2006 06:45 AM

it says:

Makefile:486: .config No such file or directory
make: *** No rule to make target 'depclean'. Stop.

bulliver 02-05-2006 06:48 AM

What directory are you running these commands in?

jomen 02-05-2006 01:24 PM

Maybe you don't have the kernel-header package installed - that is what seems to be missing...
These headers are in each kernel-source too - but usually there is a separate package for the kernel-headers.
This is to avoid problems which could arise when compiling different applicatins against different kernel-headers - as this is what you would do if always using the everytime new (and possibly different) headers that come with each new kernel.

pafrica 02-05-2006 03:50 PM

bulliver,

i unpacked the tarball into /usr/src and made a linux symlink to /usr/src/linux-2.6.15.2. i've even tried unpacking it to my home directory and building from there. neither worked.

pafrica 02-05-2006 03:59 PM

jomen,

there is no kernel headers package in listed /var/log/packages, although i can configure and rebuild my other kernel (2.4) just fine.

do i still need to install a kernel-headers package?

jomen 02-05-2006 05:20 PM

the package's name is:
sys-kernel/linux-headers
and this should be installed - I don't remember to have this installed separately - it got installed as a dependency to sys-kernel/*
BTW - what is your current profile (symlink from /etc/make.profile to /usr/portage/profiles/...)
I'm asking because you are mentioning a 2.4 kernel - which is not in the default profile since ... some time ago.
Maybe this should be adjusted to the current one - which is /usr/portage/profiles/default-linux/x86/2006.0 for x86 architecture...
I don't have anything in /var/log/packages - but that does depend on how you set up logging, I suppose...
I have "PORT_LOGDIR=/var/log/portage" in my /etc/make.conf and everything I emerge is logged there - including potentially very important messages that would otherwise just scroll by while emerging (eg. during an upgrade) many files at once.
This is convenient for reviewing anything important that might have changed between package-versions during an update.

bulliver 02-05-2006 05:49 PM

Quote:

i unpacked the tarball into /usr/src and made a linux symlink to /usr/src/linux-2.6.15.2.
My bad. The command to clean out your kernel source should be "make mrproper".

@jomen: what makes you think he is running Gentoo? If he was running Gentoo then the headers _would_ be installed, as they are part of the base system, and are required to build glibc, which of course is necessary to build anything.

@pafrica: what distro are you running?

jomen 02-05-2006 07:26 PM

my bad this time... I got confused - sorry!
Quote:

@pafrica: what distro are you running?
right: that was the question I should have been asking - because I obviously did not notice that it already was answered in the first post...
but still - he does not seem to have the headers installed

pafrica 02-06-2006 12:56 AM

fixed!
 
guys,

thanks for the help. i installed the kernel headers package from my slackware 10.2 dvd and it works again. i still find it odd that i can rebuild the stock 2.4.31 kernel without the headers but not the vanilla 2.6.15.2.


All times are GMT -5. The time now is 04:59 AM.