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

Juan Manuel Palacios yellowdog-general@lists.terrasoftsolutions.com
Sat Jun 1 22:12:01 2002


--------------080802000109030400020801
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

  Hello Kaoru and everybody from the lists. I'm having some problems 
compiling the latest kernel's src.rpm found in your ftp site ( 
ftp://ppc.linux.or.jp/pub/users/fukui/). When I hit "rpm -ba 
kernel-2.4.19.k.spec" the decompression of the sources begin, followed 
by the checking of the configuration file. And up to here everything is 
fine. But just when the building process states that the next step is to 
build the dependencies it fails miserably with quite a confusing error 
message:

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


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

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

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

But for the last two the file referrenced is missing:

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

So I don't understand. Which one of these two files is causing the 
failure and what is the exact path the file " 
/usr/include/bits/local_lim.h" is trying to call when it invokes 
"linux/limits.h" in line 36? I found a directory "linux" which contains 
a "limits.h" file, but the complete path is 
"/usr/src/rpm/BUILD/linux/include/linux". I really don't think this is 
the complete path "local_lim.h" is looking for, or is it?

I guess the most important question I have is, how can I fix the 
problem? To start troubleshooting first of all I made sure I had the 
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

The docs and headers are the same version of the kernel I'm trying to 
compile, I simply updated the packages already installed. The kernel 
package provides the kernel I'm currently running (2.4.10-12a), which is 
the stock one provided by YellowDog 2.1. And kernelcfg, I've never 
really used it. Is there anything missig there, anything I'll need to 
carry on with the compile process? I removed the package named 
kernel-sources since it belonged to the same series as the stock kernel 
and I thought they could conflict with the sources installed by the new 
yet-unbuilt kernel. But one funny and strange thing I notticed: inside 
the directory /usr/src I have the following directories

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

The directory "linux" points to the directory "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 last one there are no real source files, 
all of them get installed in "/usr/src/rpm/BUILD/linux" when I issue 
"rpm -ba kernel-2.4.19.k.spec". Isn't this strange? I don't remember 
this from previous experiences building kernels. I remember having all 
the source and/or (not really sure here) header files in the directory 
"/usr/src/linux/" regardless of them getting installed somewhere else 
when the build process begins. Could this be what's at fault? In any 
case, I remember many more files in /usr/src/linux than what I have now.

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

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


Juan.


--------------080802000109030400020801
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
</head>
<body>
<title></title>
       &nbsp;&nbsp;&nbsp; Hello Kaoru and everybody from the lists. I'm having some problems
compiling the latest kernel's src.rpm found in your ftp site (<a class="moz-txt-link-freetext" href="ftp://ppc.linux.or.jp/pub/users/fukui/">
ftp://ppc.linux.or.jp/pub/users/fukui/</a>). When I hit "rpm -ba kernel-2.4.19.k.spec"
the decompression of the sources begin, followed by the checking of the configuration
file. And up to here everything is fine. But just when the building process
states that the next step is to build the dependencies it fails miserably
with quite a confusing error message:<br>
<br>
 _____________________________<br>
 + make -s dep<br>
 In file included &nbsp;&nbsp;&nbsp; from /usr/include/bits/posix1_lim.h:126,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; from /usr/include/limits.h:144,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; from /usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/syslimits.h:7,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; from /usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/limits.h:11,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; from scripts/mkdep.c:35:<br>
 /usr/include/bits/local_lim.h:36: linux/limits.h: No such file or directory<br>
 make: *** [scripts/mkdep] Error 1<br>
 error: Bad exit status from /var/tmp/rpm-tmp.44658 (%build)<br>
<br>
<br>
 RPM build errors:<br>
 &nbsp;&nbsp;&nbsp; Bad exit status from /var/tmp/rpm-tmp.44658 (%build)<br>
 _____________________________<br>
<br>
 &nbsp;&nbsp;&nbsp; Now, I say confusing because I am no developer. I may be an experienced 
Linux user but nothing in developer land. I cheked in all the directories 
reported in the error and the file limits.h was <big><b>to be</b></big> found
in most of them. That is, the files:<br>
<br>
 /usr/include/limits.h &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- &nbsp;exists,<br>
 /usr/include/bits/posix2_lim.h &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- exists (referrenced by the 
previous in line no. 144),<br>
 /usr/include/bits/posix1_lim.h &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- exists,<br>
 /usr/include/bits/local_lim.h &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- exists (referrenced by the
previous in line no. 126),<br>
/usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/syslimits.h&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;--
exists (referrenced by the one below in line no. 11),<br>
/usr/lib/gcc-lib/ppc-yellowdog-linux/2.95.4/include/limits.h&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;--
exists (referrenced by the previous one in line no. 7),<br>
 /usr/include/bits/local_lim.h&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;--exists<br>
<br>
&nbsp;&nbsp;&nbsp; But for the last two the file referrenced is missing:<br>
<br>
 /usr/include/bits/local_lim.h:36&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- no directory named "linux"
there or any file named "limits.h", for that matter.<br>
scripts/mkdep.c:35&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;-- real path is "/usr/src/rpm/BUILD/linux/scripts"
and there is no "limits.h" file there.<br>
<br>
&nbsp;&nbsp;&nbsp; So I don't understand. Which one of these two files is causing the failure
and what is the exact path the file " /usr/include/bits/local_lim.h" is trying
to call when it invokes "linux/limits.h" in line 36? I found a directory
"linux" which contains a "limits.h" file, but the complete path is "/usr/src/rpm/BUILD/linux/include/linux".
I really don't think this is the complete path "local_lim.h" is looking for,
or is it?<br>
<br>
&nbsp;&nbsp;&nbsp; I guess the most important question I have is, how can I fix the problem?
To start troubleshooting first of all I made sure I had the packages I thought
were necessary and enough already installed:<br>
<br>
kernelcfg-0.6-9<br>
kernel-doc-2.4.19-pre8_B0c<br>
kernel-headers-2.4.19-pre8_B0c<br>
kernel-2.4.10-12a<br>
<br>
&nbsp;&nbsp;&nbsp; The docs and headers are the same version of the kernel I'm trying to
compile, I simply updated the packages already installed. The kernel package
provides the kernel I'm currently running (2.4.10-12a), which is the stock
one provided by YellowDog 2.1. And kernelcfg, I've never really used it.
Is there anything missig there, anything I'll need to carry on with the compile
process? I removed the package named kernel-sources since it belonged to
the same series as the stock kernel and I thought they could conflict with
the sources installed by the new yet-unbuilt kernel. But one funny and strange
thing I notticed: inside the directory /usr/src I have the following directories<br>
<br>
drwxrwxr-x&nbsp;&nbsp;&nbsp; 4 juan&nbsp;&nbsp;&nbsp;&nbsp; juan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.0k May 17 01:28 Updates/<br>
lrwxrwxrwx&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21 May 31 18:49 linux -&gt; linux-2.4.19-pre8_B0c/<br>
drwxr-xr-x&nbsp;&nbsp;&nbsp; 7 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.0k May 29 16:29 linux-2.4.10/<br>
drwxr-xr-x&nbsp;&nbsp;&nbsp; 4 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.0k May 31 18:49 linux-2.4.19-pre8_B0c/<br>
drwxr-xr-x&nbsp;&nbsp;&nbsp; 7 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.0k Mar 10 11:41 rpm/<br>
<br>
&nbsp;&nbsp;&nbsp; The directory "linux" points to the directory "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 last one there are no real source files, all
of them get installed in "/usr/src/rpm/BUILD/linux" when I issue "rpm -ba
kernel-2.4.19.k.spec". Isn't this strange? I don't remember this from previous
experiences building kernels. I remember having all the source and/or (not
really sure here) header files in the directory "/usr/src/linux/" regardless
of them getting installed somewhere else when the build process begins. Could
this be what's at fault? In any case, I remember many more files in /usr/src/linux
than what I have now.<br>
<br>
&nbsp;&nbsp;&nbsp; So, again, what is causing the error and how can I fix it? Typo, incorrect
path, lack of necessary packages? I want to learn....<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Thank you all in advance for your kind help and assistance. Sincerely,...<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Juan.<br>
<br>
</body>
</html>

--------------080802000109030400020801--