Click to See Complete Forum and Search --> : Kernel Compilation in Debian potato
SlCKB0Y
11-27-2000, 12:25 AM
Well, I finally did it. I decided to install debian and stop using slackware so here is wat i did. I downloaded ONLY the .iso for the first cd of debian potato as this is all the basic stuff which i really needed if i understand this correctly. I installed this cd (just the sets of programs i needed) and it all went well.
After doing this, i used apt-get and craig m's sources list to install all of the other software i usually use.
The next step i wanted to under take was to compile a new kernel for my system. I looked in /usr/src and there was no kernel source so i downloaded the appropriate tar.gz, unzipped it to /usr/src/linux-2.2.17 and linked /usr/src/linux to this directory. So far so good. Then i start of my general kernel compiling routine which went something like this.
cp ~/.config /usr/src/linux
# this config file was from a 2.2.16 kernel on my slackware box.
make mrproper
make oldconfig
-answered the various questions about any new options
make dep
make clean
make bzImage
And then it decides to die on me giving me the following error.
localhost:/usr/src/linux# make bzImage
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c
In file included from /usr/include/bits/errno.h:25,
from /usr/include/errno.h:36,
from scripts/split-include.c:26:
/usr/include/linux/errno.h:4: asm/errno.h: No such file or directory
make: *** [scripts/split-include] Error 1
I mean im no expert, but this error would seem to indicate something called "errno.h" is missing from one or more places so i thought it would be wise to try and find them all.
scole@localhost:~$ locate errno.h
/usr/include/bits/errno.h
/usr/include/errno.h
/usr/include/linux/errno.h
/usr/include/postgresql/ecpgerrno.h
/usr/include/sys/errno.h
furthermore a
scole@localhost:/usr/src/linux/include/asm-i386$ ls
revealed another one
errno.h
So what the hell is going on? Is something missing from my system? This is really driving me crazy.
Thanks for any help.
PLBlaze
11-27-2000, 01:47 AM
You need to have linux and asm symlinks under /usr/include...this should do it nicely ln -s /usr/src/linux/include/asm /usr/include/asm and ln -s /usr/src/linux/include/linux /usr/include/linux
I've noticed that you had make dep step done but i it really was run then the above links should be set by running depend from top of the kernel tree.Hope this helps.
SlCKB0Y
11-27-2000, 05:05 AM
Originally posted by PLBlaze:
You need to have linux and asm symlinks under /usr/include...this should do it nicely ln -s /usr/src/linux/include/asm /usr/include/asm and ln -s /usr/src/linux/include/linux /usr/include/linux
I've noticed that you had make dep step done but i it really was run then the above links should be set by running depend from top of the kernel tree.Hope this helps.
I tried what you suggested and i still got the same error. Im pulling my damn hair out. I really like debian and i dont want this to turn me off it.
The Shmoky One
11-27-2000, 05:26 AM
Actually, you only need an asm simlink in /usr/src/linux/include as under this directory there are several directories for asm depending on your computer's architecture.
so you need to:
ln -s /usr/src/linux/include/asm-i386 /usr/src/linux/include/asm
I used to get the same error message as you but only when compiling programs that need access to kernel source and this error always appeared when I used kernel source that I had just unpacked but hadn't compiled yet. Now, I usually just use make xconfig and that creates the proper symlink, so what I just said might not work as compiling the kernel is supposed to created any needed symlinks. Can't think of anything else though...
SlCKB0Y
11-27-2000, 06:26 AM
Originally posted by The Shmoky One:
Actually, you only need an asm simlink in /usr/src/linux/include as under this directory there are several directories for asm depending on your computer's architecture.
so you need to:
ln -s /usr/src/linux/include/asm-i386 /usr/src/linux/include/asm
I used to get the same error message as you but only when compiling programs that need access to kernel source and this error always appeared when I used kernel source that I had just unpacked but hadn't compiled yet. Now, I usually just use make xconfig and that creates the proper symlink, so what I just said might not work as compiling the kernel is supposed to created any needed symlinks. Can't think of anything else though...
That symlink, like the other one/s is already there. Everything seems to be ok so i cant see what is tjhe matter
fuzzy
11-27-2000, 09:13 AM
I'm not sure what this means at all.
I just upgraded my Debian install to kernel 2.4.0-test11 and it went without a hitch.
Then again, I didn't use my existing ~/.config. I started from scratch.
Doesn't make mrproper wipe out the .config? I though I remembered reading somewhere that, if you're planning on using your current .config, you should not run make mrproper because the .config will be wiped clean. It's very possible I'm wrong, here, so a correction would be appreciated.
------------------
Politicians have one thing in common with baby diapers...
They both need to be changed regularly for the same reason.
--Anon.
SlCKB0Y
11-27-2000, 11:16 AM
Have since tried to do it the old way. I deleted the source, decompressed it again, and this time chose all the options by hand instead of using my .config file. Still the same errors. I am now going to go and download one of the 2.4 kernels. Miht have more luck than with 2.2.17.
fuzzy
11-27-2000, 11:56 AM
Originally posted by SlCKB0Y:
Have since tried to do it the old way. I deleted the source, decompressed it again, and this time chose all the options by hand instead of using my .config file. Still the same errors. I am now going to go and download one of the 2.4 kernels. Miht have more luck than with 2.2.17.
My other question is, isn't potato based on the 2.2.17 kernel?
Anywho, good luck with the -test11 of 2.4.0. It's working well for me.
teeitup
11-27-2000, 02:58 PM
What you need to do...
Nutshell version:
apt-get install kernel-source-2.2.17
apt-get install kernel-package
apt-get install bin86
This will probably fix it.
Verbose solution:
Go to www.debian.ord (http://www.debian.ord) and go to the stable packages page. Verify your dependencies, with apt-get, of everything required and suggested for the kernel-source package.
should be about 8 items.
I had the same errors and asked the same question here about a week ago.
Good Luck,
------------------
Don't take life to seriously, You'll never get out alive!
-Bugs Bunny-
SlCKB0Y
11-27-2000, 08:37 PM
Well, i have 2 out of those three installed, the only thing i was missing was the bin86 one which i have since installed but i am still getting these damn errors. See this really fscking ****s me, when some ****ing distro is telling me things it needs arent there, when a quick ls shows that they are.
I never had this kind of bull**** with slackware ill tell you that.
fuzzy
11-27-2000, 10:18 PM
Don't start coming down on Debian. I haven't had any problems with compiling my kernel. Actually, I just finished recompiling it 1/2 hour ago. I'm sorry that you're having problems with it.
By the way, the stable potato tree should have kernel 2.2.18.
What the hey... download that baby and try again.
------------------
Politicians have one thing in common with baby diapers...
They both need to be changed regularly for the same reason.
--Anon.
teeitup
11-28-2000, 12:27 PM
Amazing, I had this happen on a laptop last night.
You were on the right rack in your earlier post.
I copied the errno.h from
/usr/src/linux/include/asm-i386
to
/usr/include/asm
(I supppose you could use a symlink)
Searching the internet I found this to be a common problem accross differnet distros.
Good Luck
------------------
Don't take life to seriously, You'll never get out alive!
-Bugs Bunny-