Error compiling new kernel: undefined reference to `TASK_SUSPENDED'

Collins Richey erichey2
Mon May 17 11:46:34 PDT 2004


On Thu, 17 Apr 2003 21:27:46 -0400
Joel Hammer <Joel at hammershome.com> wrote:

> Trying to compile a new kernel but I keep getting this.
> Any insight appreciated.
> 
> Joel
> 
> make[1]: Leaving directory `/usr/src/linux-2.4.20/arch/i386/lib'
> ld -m elf_i386 -T /usr/src/linux-2.4.20/arch/i386/vmlinux.lds -e stext
> arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
> init/version.o init/do_mounts.o \
>  --start-group \
>  arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
>  fs/fs.o ipc/ipc.o \ drivers/char/char.o drivers/block/block.o
>  drivers/misc/misc.o drivers/net/net.o drivers/media/media.o
>  drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o
>  drivers/pci/driver.o drivers/video/video.o drivers/usb/usbdrv.o
>  drivers/input/inputdrv.o \ net/network.o \
>  /usr/src/linux-2.4.20/arch/i386/lib/lib.a
>  /usr/src/linux-2.4.20/lib/lib.a
>  /usr/src/linux-2.4.20/arch/i386/lib/lib.a \--end-group \
>  -o vmlinux
> kernel/kernel.o: In function `schedule':
> kernel/kernel.o(.text+0x2f8): undefined reference to `TASK_SUSPENDED'
> kernel/kernel.o(.text+0x3b2): undefined reference to `TASK_SUSPENDED'
> make: *** [vmlinux] Error 1

I've never seen this.  The usual questions are in order:

1) Are you using a "released" vs. "pre-patch" kernel?  If not, try again
in a few days.

2)  Are you using some "strange" or experimental options that you didn't
use before?  If you are using the unknown config from some particular
distro, all bets are off.

3) Did you use Collins' approved method?  My apologies to you super
geeks out there who have shortcuts that work for you.  I use this
method even on newly downloaded source trees, since I have at least once
seen these fail without "make mrproper."  You will note that I don't use
"make oldconfig," because I have seen it at least once change kernel
settings (module vs. in-line) that have nothing to do with new features.

	1.  keep a safe copy of your kernel .config somewhere
	2.  download your source tree, unpack it, mv it to something other than
linux, and cd to the new directory.
	3.  optional, su - now
	4.  make mrproper
	5.  make menuconfig, load your saved kernel version from "somewhere", 
check for new features and use them if desired, save your updates in
"somewhere", and exit with save.
	6.  make dep
	7.  make clean
	8.  make bzImage
	9.  make modules
	10.  su - (if you didn't do so earlier)
	11.  make modules_install
	12.  copy your new bzImage and System.map to the appropriate /boot
location. I'm too lazy to remember to mount /boot, so I almost never use
a /boot partition.  Your tastes may differ.
	13.  Make adjustments to grub or lilo.  I'm also too lazy to remember
to run /sbin/lilo, so I always use grub.  Your tastes may differ.

I haven't had a single failure with this method on "released" kernels in
the past 3 years.


-- 
Collins Richey - Denver Area
gentoo stable - ext3


More information about the Linux-users mailing list