[opensuse-packaging] kernel compile problems
![](https://seccdn.libravatar.org/avatar/9c0ca8a141fb303ee806b5d46a4ce561.jpg?s=120&d=mm&r=g)
Hello List, try to compile newer kernel on older maschine (suse 8.2/gcc version 3.3 20030226 (prerelease) (SuSE Linux)). installed is kernel 2.6.24.4 (made by hand from previous owner) New kernel is (allmost) unchanged source-rpm from buildservice 2.6.27.21 at first i got some compile error: LD .tmp_vmlinux1 ld:arch/x86/kernel/vmlinux.lds:439: parse error Line 439 ist this: ASSERT(kexec_control_code_size <= 2048, "kexec control code size is too big") Looks not unusual to me, but was only able to fix this by removing this line ;) Is there a better way? after that compiling was successful until kabi-checks in %install , there are a lot of symbols missing and max. badness is reached. how should this get fixed? or it is possible to ignore this by creating a file IGNORE-KABI-BADNESS in the kernel-source directory? Thanks, Andre -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/acbcfc05e47a10e58145c8b85929ca12.jpg?s=120&d=mm&r=g)
On Thu, Sep 17, 2009 at 01:08:29PM +0200, Andre Hübner wrote:
Hello List,
try to compile newer kernel on older maschine (suse 8.2/gcc version 3.3 20030226 (prerelease) (SuSE Linux)). installed is kernel 2.6.24.4 (made by hand from previous owner) New kernel is (allmost) unchanged source-rpm from buildservice 2.6.27.21
at first i got some compile error:
LD .tmp_vmlinux1 ld:arch/x86/kernel/vmlinux.lds:439: parse error
Line 439 ist this:
ASSERT(kexec_control_code_size <= 2048, "kexec control code size is too big")
I do not think that version of gcc can compile the 2.6.27 kernel. Try updating gcc before worrying about the kernel being incorrect. good luck, greg k-h -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/9c0ca8a141fb303ee806b5d46a4ce561.jpg?s=120&d=mm&r=g)
Hello,
I do not think that version of gcc can compile the 2.6.27 kernel. Try updating gcc before worrying about the kernel being incorrect.
updating gcc is a almost futile project, im happy about successful updating binutils and compilingtools... but gcc update seems not to be necessary, kernel 2.6.25.20-25.1 compiled without problems and changes. so far so good, now my gcc problem turned into a rpm/spec problem. I need new udev for this kernel. compiling is successful but i have problems in %files section of spec. %files section contains lines like: %attr(600,root,root) %dev(c,5,1) /lib/udev/devices/console %attr(660,root,root) %dev(c,1,11) /lib/udev/devices/kmsg %attr(666,root,root) %dev(c,1,3) /lib/udev/devices/null %attr(666,root,root) %dev(c,1,5) /lib/udev/devices/zero In suse 8.2 rpm3 is the default which is not able to handle the %dev(c,4,65) notation. Processing files: udev-120-13.1 File must begin with "/": %dev(c,5,1) File must begin with "/": %dev(c,1,11) File must begin with "/": %dev(c,1,3) File must begin with "/": %dev(c,1,5) File must begin with "/": %dev(c,5,2) File must begin with "/": %dev(c,5,0) after that it sopps without further error-message. How to turn into rpm3 compatible lines? Is this possible? Thanks, Andre -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Wed, 23 Sep 2009 10:30:43 +0200, Andre Hübner wrote:
Hello,
I do not think that version of gcc can compile the 2.6.27 kernel. Try updating gcc before worrying about the kernel being incorrect.
updating gcc is a almost futile project, im happy about successful updating binutils and compilingtools... but gcc update seems not to be necessary, kernel 2.6.25.20-25.1 compiled without problems and changes. so far so good, now my gcc problem turned into a rpm/spec problem. I need new udev for this kernel. compiling is successful but i have problems in %files section of spec. %files section contains lines like:
%attr(600,root,root) %dev(c,5,1) /lib/udev/devices/console %attr(660,root,root) %dev(c,1,11) /lib/udev/devices/kmsg %attr(666,root,root) %dev(c,1,3) /lib/udev/devices/null %attr(666,root,root) %dev(c,1,5) /lib/udev/devices/zero
In suse 8.2 rpm3 is the default which is not able to handle the %dev(c,4,65) notation.
Processing files: udev-120-13.1 File must begin with "/": %dev(c,5,1) File must begin with "/": %dev(c,1,11) File must begin with "/": %dev(c,1,3) File must begin with "/": %dev(c,1,5) File must begin with "/": %dev(c,5,2) File must begin with "/": %dev(c,5,0)
after that it sopps without further error-message. How to turn into rpm3 compatible lines? Is this possible?
I don't think it's worth to hack the latest kernel-source package for such an old distro. Not only the compilation problem, but also some basic components like udev won't match with the old system. Any problem with just compiling the kernel by yourself instead of rpm? It will save a lot, really a lot of time, when you adjust the kernel config properly for your own hardware instead of all-build kernel package. Just my $0.02. Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/9c0ca8a141fb303ee806b5d46a4ce561.jpg?s=120&d=mm&r=g)
I don't think it's worth to hack the latest kernel-source package for such an old distro. Not only the compilation problem, but also some basic components like udev won't match with the old system. i know, its still a lot of work to make it fit together...
Any problem with just compiling the kernel by yourself instead of rpm? It will save a lot, really a lot of time, when you adjust the kernel config properly for your own hardware instead of all-build kernel package.
rpm seems the best way to do this. we have still > 1200 machines with suse 8.2 running... i dont want to abdicate rpm's comfort. i think only by strictly using rpm with our own packages for modern software it was possible to let the old distro live to this day. On separate machine it succeeded to get rpm4 for suse 8.2 packaged and so the problematic udev was packaged successfully. Can i trust this rpm4 packages in rpm3 environment? i had some strange dependency warnings at installing the udev but in general the new kernel is up and running... Thanks, Andre -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Wed, 23 Sep 2009 11:09:14 +0200, Andre Hübner wrote:
I don't think it's worth to hack the latest kernel-source package for such an old distro. Not only the compilation problem, but also some basic components like udev won't match with the old system. i know, its still a lot of work to make it fit together...
Any problem with just compiling the kernel by yourself instead of rpm? It will save a lot, really a lot of time, when you adjust the kernel config properly for your own hardware instead of all-build kernel package.
rpm seems the best way to do this. we have still > 1200 machines with suse 8.2 running... i dont want to abdicate rpm's comfort. i think only by strictly using rpm with our own packages for modern software it was possible to let the old distro live to this day.
You can easily use a tarball like older days.
On separate machine it succeeded to get rpm4 for suse 8.2 packaged and so the problematic udev was packaged successfully.
It's not about packaging but rather about the running system. Many recent kernels assume that a relatively new version of udev is running. For older udev, you need to change the kernel config. But, SUSE kernels don't set it (because the config is often exclusive). So, you should first check whether the kernel is really running or not, then try to solve packaging issues. Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/9c0ca8a141fb303ee806b5d46a4ce561.jpg?s=120&d=mm&r=g)
So, you should first check whether the kernel is really running or not, then try to solve packaging issues.
exactly, and there is again the question how to make lines like: %attr(666,root,root) %dev(c,1,5) /lib/udev/devices/zero make work in rpm3-specfile. packaging error is: File must begin with "/": %dev(c,5,0) Thanks, Andre -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Wed, 23 Sep 2009 11:36:06 +0200, Andre Hübner wrote:
So, you should first check whether the kernel is really running or not, then try to solve packaging issues.
exactly, and there is again the question how to make lines like: %attr(666,root,root) %dev(c,1,5) /lib/udev/devices/zero
No, what I meant to try the kernel without rpm packaging. Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (3)
-
Andre Hübner
-
Greg KH
-
Takashi Iwai