Re: PROBLEM: Can't compile kernel 2.2.29

Andrey Panin (pazke@orbita.don.sitek.net)
Tue, 30 Nov 1999 17:23:45 +0300


Johannes Kloos wrote:
>
> On Mon, 29 Nov 1999, Robert Louis Murphy wrote:
>
> > Compiling fails near the end after executing "make bzImage" I get:
> > (leaving off the first hundred pages or so)
> > "...
> > make -C nls
> > make[2]: Entering directory `/usr/src/linux-2.3.29/fs/nls'
> > make all_targets
> > make[3]: Entering directory `/usr/src/linux-2.3.29/fs/nls'
> > gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DCPU=686 -march=i686 -DEXPORT_SYMTAB -c nls_base.c
> > rm -f nls.o
> > ld -m elf_i386 -r -o nls.o nls_base.o
> > make[3]: Leaving directory `/usr/src/linux-2.3.29/fs/nls'
> > make[2]: Leaving directory `/usr/src/linux-2.3.29/fs/nls'
> > make -C autofs
> > make[2]: Entering directory `/usr/src/linux-2.3.29/fs/autofs'
> > make all_targets
> > make[3]: Entering directory `/usr/src/linux-2.3.29/fs/autofs'
> > make[3]: Nothing to be done for `all_targets'.
> > make[3]: Leaving directory `/usr/src/linux-2.3.29/fs/autofs'
> > make[2]: Leaving directory `/usr/src/linux-2.3.29/fs/autofs'
> > make -C devpts
> > make[2]: Entering directory `/usr/src/linux-2.3.29/fs/devpts'
> > make all_targets
> > make[3]: Entering directory `/usr/src/linux-2.3.29/fs/devpts'
> > make[3]: Nothing to be done for `all_targets'.
> > make[3]: Leaving directory `/usr/src/linux-2.3.29/fs/devpts'
> > make[2]: Leaving directory `/usr/src/linux-2.3.29/fs/devpts'
> > make all_targets
> > make[2]: Entering directory `/usr/src/linux-2.3.29/fs'
> > gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DCPU=686 -march=i686 -c -o open.o open.c
> > open.c: In function `sys_truncate':
> > open.c:129: internal error--insn does not satisfy its constraints:
> > (insn:HI 278 319 322 (set (reg:DI 4 %esi)
> > (if_then_else:DI (le:DI (reg:DI 1 %edx)
> > (reg:DI 4 %esi))
> > (reg:DI 1 %edx)
> > (reg:DI 4 %esi))) 405 {movdicc+2} (insn_list 130 (insn_list 134 (nil)))
> > (expr_list:REG_DEAD (mem:DI (plus:SI (reg:SI 7 %esp)
> > (const_int 24)))
> > (nil)))
> > ../../gcc/toplev.c:1438: Internal compiler error in function fatal_insn
> > cpp: output pipe has been closed
> This seems to be a compiler problem.
> Which gcc do you use (gcc 2.7.x, gcc 2.8.x, egcs, pgcc) ? If you don't
> know, what distribution do you use ?
> And does it fail regularly like this ?
> > make[2]: *** [open.o] Error 1
> > make[2]: Leaving directory `/usr/src/linux-2.3.29/fs'
> > make[1]: *** [first_rule] Error 2
> > make[1]: Leaving directory `/usr/src/linux-2.3.29/fs'
> > make: *** [_dir_fs] Error 2"
> >
> > I'm running Linux 2.2.9-27mdk
> > Version: #1 Thu Nov 25 16:31:37 EST 1999
> > Machine: i686
> >
> > X-Server
> > vendor string : Linux Mandrake (XFreee86 3.3.3.1, X-TT 1.2.1, patches)
> Most of this information was irrelevant, especially about sound
> modules/hardware configuration/X servers. But this line tells us you're
> running Mandrake, about whom I read many bug reports (compiling the kernel
> with bad compilers etc).
> >
> > I don't know how much of the above info is relevant, if any isn't please tell.
> > Please tell me if I lack vital info. Like I stated at the beginning, I think
> > it was mostly done compiling when it failed, I don't know what "insn" so
> > in addition to a fix or a work around I want to find out what "insn"
> insn is a compiler internal. You need a working compiler (try gcc-2.8.1).
> Btw: Try to reproduce the problem. It could also be a hardware fault
> (although improbable).
> >
> > Thanks a million,
> >
> > losmurfs@bellsoutn.net
> > is.
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.rutgers.edu
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/

Mandrake Linux uses pgcc and I had exactly the same problem.
If you want compile 2.3.29 (without installing other gcc version) run 'make
config' and set CPU type to 386.
It works for me.

Andrey.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/