Skip to contentSkip to conversation

2.4.19-pre7 MIPS compile errors.

PATCH New Malcolm Mallardi 3 participants 4 messages Apr 24, 2002 – May 5, 2002

lore
Share & tools
lore
#0 lore raw

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.c
identify.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.c
signal.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

#1 lore raw

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
#2 lore raw

PATCH 1/1 arch/mips/kernel/signal.c, still more errors, though.

In reply to Malcolm Mallardi
Quoted 5 lines · Andrey Panin

Hi Malcolm,

for the second problem did you try to add #include <linux/personality.h> line in signal.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.o
mm/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.o
drivers/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 vmlinux

drivers/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

#3 lore raw
In reply to Malcolm Mallardi
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