Error compiling Kaoru's kernel 2.4.19-pre8_B0c.src.rpm

Juan Manuel Palacios yellowdog-general@lists.terrasoftsolutions.com
Sun Jun 2 16:45:01 2002


=A0=A0=A0 Hello Kaoru and everybody from the lists. I'm having some =
problems=20
compiling the latest kernel's src.rpm found in your ftp site=20
( ftp://ppc.linux.or.jp/pub/users/fukui/). When I hit "rpm -ba=20
kernel-2.4.19.k.spec" the decompression of the sources begin, followed=20=

by the checking of the configuration file. And up to here everything is=20=

fine. But just when the building process states that the next step is to=20=

build the dependencies it fails miserably with quite a confusing error=20=

message:

_____________________________
+ make -s dep
In file included =A0=A0=A0 from /usr/include/bits/posix1_lim.h:126,
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0 =A0=A0=A0 =A0=A0=A0 =
=A0=A0=A0 =A0 from /usr/include/limits.h:144,
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=
=A0 =A0=A0=A0 from /usr/lib/gcc-
lib/ppc-yellowdog-linux/2.95.4/include/syslimits.h:7,
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=
=A0 =A0=A0=A0 from /usr/lib/gcc-
lib/ppc-yellowdog-linux/2.95.4/include/limits.h:11,
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0 =A0=A0=A0 =A0=A0=A0 =
=A0=A0=A0 =A0 from scripts/mkdep.c:35:
/usr/include/bits/local_lim.h:36: linux/limits.h: No such file or=20
directory
make: *** [scripts/mkdep] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.44658 (%build)


RPM build errors:
=A0=A0=A0 Bad exit status from /var/tmp/rpm-tmp.44658 (%build)
_____________________________

=A0=A0=A0 Now, I say confusing because I am no developer. I may be an=20
experienced Linux user but nothing in developer land. I cheked in all=20
the directories reported in the error and the file limits.h was to be=20
found in most of them. That is, the files:

/usr/include/limits.h =A0=A0=A0 =A0=A0=A0 <-- =A0exists,
/usr/include/bits/posix2_lim.h =A0=A0=A0 =A0=A0=A0 <-- exists =
(referrenced by the=20
previous in line no. 144),
/usr/include/bits/posix1_lim.h =A0=A0=A0 =A0=A0=A0 <-- exists,
/usr/include/bits/local_lim.h =A0=A0=A0 =A0=A0=A0 <-- exists =
(referrenced by the=20
previous in line no. 126),
/usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/syslimits.h=A0=A0=A0=20=

=A0=A0=A0 <-- exists (referrenced by the one below in line no. 11),
/usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/limits.h=A0=A0=A0 =
=A0=A0=A0=20
=A0=A0=A0 <-- exists (referrenced by the previous one in line no. 7),
/usr/include/bits/local_lim.h=A0=A0=A0 =A0=A0=A0 <--exists

=A0=A0=A0 But for the last two the file referrenced is missing:

/usr/include/bits/local_lim.h:36=A0=A0=A0 =A0=A0=A0 <-- no directory =
named "linux"=20
there or any file named "limits.h", for that matter.
scripts/mkdep.c:35=A0=A0=A0 =A0=A0=A0 <-- real path is=20
"/usr/src/rpm/BUILD/linux/scripts" and there is no "limits.h" file =
there.

=A0=A0=A0 So I don't understand. Which one of these two files is causing =
the=20
failure and what is the exact path the file "=20
/usr/include/bits/local_lim.h" is trying to call when it invokes=20
"linux/limits.h" in line 36? I found a directory "linux" which contains=20=

a "limits.h" file, but the complete path is=20
"/usr/src/rpm/BUILD/linux/include/linux". I really don't think this is=20=

the complete path "local_lim.h" is looking for, or is it?

=A0=A0=A0 I guess the most important question I have is, how can I fix =
the=20
problem? To start troubleshooting first of all I made sure I had the=20
packages I thought were necessary and enough already installed:

kernelcfg-0.6-9
kernel-doc-2.4.19-pre8_B0c
kernel-headers-2.4.19-pre8_B0c
kernel-2.4.10-12a

=A0=A0=A0 The docs and headers are the same version of the kernel I'm =
trying=20
to compile, I simply updated the packages already installed. The kernel=20=

package provides the kernel I'm currently running (2.4.10-12a), which is=20=

the stock one provided by YellowDog 2.1. And kernelcfg, I've never=20
really used it. Is there anything missig there, anything I'll need to=20
carry on with the compile process? I removed the package named=20
kernel-sources since it belonged to the same series as the stock kernel=20=

and I thought they could conflict with the sources installed by the new=20=

yet-unbuilt kernel. But one funny and strange thing I notticed: inside=20=

the directory /usr/src I have the following directories

drwxrwxr-x=A0=A0=A0 4 juan=A0=A0=A0=A0 juan=A0=A0=A0=A0=A0=A0=A0=A0 4.0k =
May 17 01:28 Updates/
lrwxrwxrwx=A0=A0=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
21 May 31 18:49 linux ->=20
linux-2.4.19-pre8_B0c/
drwxr-xr-x=A0=A0=A0 7 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0 4.0k =
May 29 16:29 linux-2.4.10/
drwxr-xr-x=A0=A0=A0 4 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0 4.0k =
May 31 18:49=20
linux-2.4.19-pre8_B0c/
drwxr-xr-x=A0=A0=A0 7 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0 4.0k =
Mar 10 11:41 rpm/

=A0=A0=A0 The directory "linux" points to the directory=20
"linux-2.4.19-pre8_B0c/" which was installed by "kernel-
headers-2.4.19-pre8_B0c", and this was to be expected. But inside this=20=

last one there are no real source files, all of them get installed in=20
"/usr/src/rpm/BUILD/linux" when I issue "rpm -ba kernel-2.4.19.k.spec".=20=

Isn't this strange? I don't remember this from previous experiences=20
building kernels. I remember having all the source and/or (not really=20
sure here) header files in the directory "/usr/src/linux/" regardless of=20=

them getting installed somewhere else when the build process begins.=20
Could this be what's at fault? In any case, I remember many more files=20=

in /usr/src/linux than what I have now.

=A0=A0=A0 So, again, what is causing the error and how can I fix it? =
Typo,=20
incorrect path, lack of necessary packages? I want to learn....

=A0=A0=A0 =A0=A0=A0 Thank you all in advance for your kind help and =
assistance.=20
Sincerely,...


=A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 =A0=A0=A0 Juan.