2.4.20 compile problem - solved properly?
I'm running Debian 3.0 on an Ultra 5. I had been using the 2.4.18 kernel
and wanted to upgrade to 2.4.20. I downloaded the source package and
attempted to compile it. It kept exiting with an error, something like:
sparc64_ksyms.c:63:conflicting types for 'kernel_thread'
That's not the exact message - I didn't save the output, just copied it down
in my notes. A search of google and the debian-sparc archives didn't turn
up much about this issue. I found a mention from what looked like kernel
developer traffic for 2.4.21. David S. Miller mentions "kill bogus
kernel_thread decl" for the sparc64 kernel:
So, I decided to take matters into my own hands and started looking at the
source for sparc64_ksyms.c and sched.h. I found the line numbers mentioned,
and in sparc64_ksyms.c 'kernel_thread' is declared as 'pid_t', while in
sched.h it is 'long'. It appears that the compilation process hits sched.h
first, so once it hits line 63 in sparc64_ksyms.c it hangs. I then looked
in the source for both of these files in 2.4.18. In that kernel, sched.h
does not contain the offending 'long' declaration. I commented out line 809
in the 2.4.20 version, and it compiled just fine.
My question is - was this okay? I am not a programmer, just a tinkerer.
The kernel compiled and booted just fine. Did I resolve this issue
correctly, or could this bite me later?
Add photos to your e-mail with MSN 8. Get 2 months FREE*.