2.4.19-pre7 MIPS compile errors.
The MIPS box (an SGI Indy) has been having problems compiling kernels since I first put Linux on it I've never had a kernel complete the basic image compile (make vmlinux) between 2.4.16-2.4.18 there were problems compiling one of the keyboard drivers, 2.4.19-pre5 had the two problems I'm about to describe, as does 2.4.19-pre7. 2.4.19-pre6 wouldn't even attempt to compile.
It's an R5000/150Mhz, 128M RAM, Newport graphics, Debian Woody, gcc 2.95.4, binutils 2.12.90.0.1 20020307.
First problem seems to be in the ARCs Console support subsystem of the kernel.
gcc -I /usr/src/linux-2.4.19-pre7/include/asm/gcc -D__KERNEL__ -I/usr/src/linux-2.4.19-pre7/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic -mcpu=r5000 -mips2
-Wa,--trap -pipe -nostdinc -I/usr/lib/gcc-lib/mips-linux/2.95.4/include -DKBUILD_BASENAME=identify -c -o identify.o identify.cidentify.c: In function `prom_identify_arch':
identify.c:76: warning: `iname' might be used uninitialized in this function
gcc -I /usr/src/linux-2.4.19-pre7/include/asm/gcc -D__KERNEL__ -I/usr/src/linux-2.4.19-pre7/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic -mcpu=r5000 -mips2
-Wa,--trap -pipe -nostdinc -I/usr/lib/gcc-lib/mips-linux/2.95.4/include -DKBUILD_BASENAME=arc_con -c -o arc_con.o arc_con.c
arc_con.c:53: warning: initialization from incompatible pointer type arc_con.c:55: warning: initialization makes integer from pointer without a cast
arc_con.c:55: initializer element is not computable at load time arc_con.c:55: (near initialization for arc_cons.flags') arc_con.c:60: warning: excess elements in struct initializer arc_con.c:60: warning: (near initialization for arc_cons') make[2]: *** [arc_con.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.19-pre7/arch/mips/arc' make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.19-pre7/arch/mips/arc'
make: *** [_dir_arch/mips/arc] Error 2
The second error, I run into when I disable ARC console support, and attempt to compile again. Not as sure about what causes this one, though.
gcc -I /usr/src/linux-2.4.19-pre7/include/asm/gcc -D__KERNEL__ -I/usr/src/linux-2.4.19-pre7/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic -mcpu=r5000 -mips2
-Wa,--trap -pipe -nostdinc -I/usr/lib/gcc-lib/mips-linux/2.95.4/include -DKBUILD_BASENAME=signal -c -o signal.o signal.csignal.c: In function `do_signal':
signal.c:573: `PER_LINUX' undeclared (first use in this function) signal.c:573: (Each undeclared identifier is reported only once signal.c:573: for each function it appears in.)
make[1]: *** [signal.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.19-pre7/arch/mips/kernel'
make: *** [_dir_arch/mips/kernel] Error 2
Anyway... I'm hoping that this information is useful, if y'all need any more, please just ask.
--
Malcolm D. Mallardi - Dark Freak At Large
"Captain, we are receiving two-hundred eighty-five THOUSAND hails."
AOL: Nuark UIN: 11084092 Y!: Magamo Jabber: [email protected]
http://ranka.2y.net:8008/~magamo/index.htm
Hi Malcolm,
for the second problem did you try to add #include <linux/personality.h> line in signal.c ?
Signature · 2 lines
Andrey Panin | Embedded systems software engineer [email protected] | PGP key: wwwkeys.eu.pgp.net
PATCH 1/1 arch/mips/kernel/signal.c, still more errors, though.
In reply to Malcolm MallardiQuoted 5 lines · Andrey Panin
Hi Malcolm,
for the second problem did you try to add #include <
linux/personality.h> line insignal.c?
That did indeed fix that build error, so here is the patch for said fix.
--- linux/arch/mips/kernel/signal.c.orig Thu Apr 25 08:09:15
2002
+++ linux/arch/mips/kernel/signal.c Thu Apr 25 08:02:33 2002
@@ -18,6 +18,7 @@
#include <linux/wait.h>
#include <linux/ptrace.h>
#include <linux/unistd.h>
+#include <linux/personality.h>
#include <asm/asm.h>
#include <asm/bitops.h>
Though I am left with yet another build error during the final linking:
ld -G 0 -static -T arch/mips/ld.script arch/mips/kernel/head.o arch/mips/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \
--start-group \
arch/mips/kernel/kernel.o arch/mips/mm/mm.o kernel/kernel.omm/mm.o fs/fs.o ipc/ipc.o arch/mips/math-emu/fpu_emulator.o arch/mips/sgi-ip22/ip22-kern.o \
drivers/char/char.o drivers/block/block.o drivers/misc/misc.odrivers/net/net.o drivers/media/media.o drivers/scsi/scsidrv.o
drivers/cdrom/driver.o drivers/sgi/sgi.a drivers/video/video.o \
net/network.o \
arch/mips/lib/lib.a /usr/src/linux-2.4.19-pre7/lib/lib.a
arch/mips/arc/arclib.a \
--end-group \
-o vmlinuxdrivers/sgi/sgi.a(sgichar.o): In function `register_serial':sgichar.o(.text+0x6e14): multiple definition of register_serial' drivers/char/char.o(.text+0x1ba70): first defined here drivers/sgi/sgi.a(sgichar.o): In function unregister_serial':sgichar.o(.text+0x6e1c): multiple definition of unregister_serial' drivers/char/char.o(.text+0x1bac8): first defined here arch/mips/kernel/kernel.o: In function irix_waitsys':
arch/mips/kernel/kernel.o(.text+0xaa90): undefined reference to `release_task'
make: *** [vmlinux] Error 1
The first part of that error was likely a config snafu (I defined both standard serial and SGI serial) The second looks like a problem with Irix binary compatibility, I'm disabling that as well.
Disabling those two things has left me with a compiled kernel.
--
Malcolm D. Mallardi - Dark Freak At Large
"Captain, we are receiving two-hundred eighty-five THOUSAND hails."
AOL: Nuark UIN: 11084092 Y!: Magamo Jabber: [email protected]
http://ranka.2y.net:8008/~magamo/index.htm
Quoted 6 lines · Malcolm Mallardi
The MIPS box (an SGI Indy) has been having problems compiling kernels since I first put Linux on it I've never had a kernel complete the basic image compile (make vmlinux) between 2.4.16-2.4.18 there were problems compiling one of the keyboard drivers, 2.4.19-pre5 had the two problems I'm about to describe, as does 2.4.19-pre7. 2.4.19-pre6 wouldn't even attempt to compile.
The stock kernel doesn't build for MIPS nor has all the latest fixes. Get the latest 2.4 kernel from the cvs archive on oss.sgi.com, branch linux_2_4, see also the section about anon cvs in
http://oss.sgi.com/mips/mips-howto.html.
Ralf