[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kernel 2.4.31 does not compile on Debian sid/unstable?

I'm sending this private reply back to the list.  It's best to keep all
mail on the list for several reasons - the main one here is that I may
not be very helpful, I'm just guessing.

On Sat, Oct 22, 2005 at 12:33:37PM +0200, Bo?tjan Müller wrote:
> David wrote:
> | On Fri, Oct 21, 2005 at 03:05:59PM +0200, Bo?tjan Müller wrote:

> |>I am trying to compile a 2.4.31 kernel (with some additional patches)
> |>and have had no success in doing so today (i tried without patches -
> |>vanilla kernel also).
> |>$ export MAKEFLAGS="CC=gcc-2.95"
> |>$ make-kpkg --revision 0 --bzimage --added_patches openswan
> |>- --append-to-version -neonatus.net kernel-image
> |>
> |>[...]
> |>make[2]: Entering directory
> |>`/home/new_usr/src/linux-2.4.31-neonatus.net/arch/i386/kernel'
> |>gcc-2.95 -D__KERNEL__
> |>- -I/home/new_usr/src/linux-2.4.31-neonatus.net/include -Wall
> |>- -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> |>- -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686
> |>- -nostdinc -iwithprefix include -DKBUILD_BASENAME=process  -c -o
> |>process.o process.c
> |>{standard input}: Assembler messages:
> |>{standard input}:732: Error: suffix or operands invalid for `mov'

> |>Does anyone know why I get the above error?
> |>What can I do to make it compile like it should?

> | I successfully compiled the 2.4.31 kernel in Stable, so the kernel
> | source should be alright.
> |
> | What the error message is saying is that the assembler source file that
> | has been generated has errors in it.
> |
> | What might be happening is that you may be running out of disk
> | space wherever the temp files are stored - would that be /tmp?  You
> | might try running df to see how your disk space is running - perhaps
> | even while compiling the kernel.
> |
> | Did you try using a later version of gcc?  The file
> | Documentation/Changes still states that gcc 2.95 is the preferred
> | compiler, but I've been using GCC 3.x for some time and all _appears_ to
> | be fine.  I believe I've seen where it's been stated that 3.x compilers
> | are OK now.

> There must be something really wrong with my system than - I am running
> just the ordinary Debian sid (no extra packages or nothing).
> $ tar -xjf linux-2.4.31.tar.bz2
> $ ln -s linux-2.4.31 linux

Actually, the above is no longer a necessary step.

> $ cd linux
> $ cp ../linux-2.4.31-neonatus.net/.config ./
> $ export PATCH_THE_KERNEL=YES; export MAKEFLAGS="CC=gcc-3.4"; make-kpkg
> - -revision 0 --bzimage --added_patches openswan --append-to-version
> - -neonatus.net kernel-image
> [...]
> make[2]: Entering directory
> `/home/new_usr/src/linux-2.4.31/arch/i386/kernel'
> gcc-3.4 -D__KERNEL__ -I/home/new_usr/src/linux-2.4.31/include -Wall
> - -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> - -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686
> - -fno-unit-at-a-time   -nostdinc -iwithprefix include
> - -DKBUILD_BASENAME=process  -c -o process.o process.c
> {standard input}: Assembler messages:
> {standard input}:726: Error: suffix or operands invalid for `mov'
> {standard input}:727: Error: suffix or operands invalid for `mov'
> {standard input}:821: Error: suffix or operands invalid for `mov'
> {standard input}:822: Error: suffix or operands invalid for `mov'
> {standard input}:864: Error: suffix or operands invalid for `mov'
> {standard input}:865: Error: suffix or operands invalid for `mov'
> {standard input}:867: Error: suffix or operands invalid for `mov'
> {standard input}:879: Error: suffix or operands invalid for `mov'
> make[2]: *** [process.o] Error 1
> make[2]: Leaving directory `/home/new_usr/src/linux-2.4.31/arch/i386/kernel'
> make[1]: *** [_dir_arch/i386/kernel] Error 2
> make[1]: Leaving directory `/home/new_usr/src/linux-2.4.31'
> make: *** [stamp-build] Error 2
> This one as you can see, the compiler was set to gcc-3.4. but still no
> sucess.
> The /tmp and the build partitions have at least 1GB free space.
> Any other clues? This is driving me nuts. Google also provided no
> answers on this topic.

Well, I still suspect you are running out of space somewhere.  The only
place I've seen errors of the nature of the above - i.e. when you are
receiving assembler source errors - is when you lack storage for the
temporary files.

I just noted in the gcc command that it's using the -pipe option, so
this means that it's not using temp files but pipes instead of creating
intermediate files.  No doubt you have quite a bit of RAM - I do it with
80 Meg real memory and 256 Meg swap - but if it's not running out of
space for the intermediate data, I have no idea what it could be.

Reply to: