From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030703 Description of problem: Red Hat ships gcc32 intended to be used for compiling kernels; however the kernel-source RPM itself is still configured to use gcc32, which might lead people to compile broken custom kernels. A neat way is to provide a 'kgcc' package that contains either a symlink to /usr/bin/gcc or /usr/bin/gccXX named 'kgcc', and have kernel-source always specifying kgcc as its compiler. Version-Release number of selected component (if applicable): kernel-source-2.4.22-1.2061.nptl How reproducible: Always Steps to Reproduce: 1. cat /usr/src/linux-2.4/Makefile | grep gcc Actual Results: HOSTCC = gcc CC = $(CROSS_COMPILE)gcc Expected Results: HOSTCC = kgcc CC = $(CROSS_COMPILE)kgcc or at least HOSTCC = gcc32 CC = $(CROSS_COMPILE)gcc32 Additional info:
Thanks, Michel and Arjan. Unfortunately, even with this correction, I am still not able to compile the stock kernel source supplied with 094. Output from the make shows the error: ld -m elf_i386 -T /usr/src/linux-2.4.22-1.2061.nptl/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/acpi/acpi.o drivers/cpufreq/cpufreq.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/char/drm/drm.o drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o drivers/media/media.o drivers/md/mddev.o drivers/isdn/vmlinux-obj.o crypto/crypto.o net/network.o /usr/src/linux-2.4.22-1.2061.nptl/arch/i386/lib/lib.a /usr/src/linux-2.4.22-1.2061.nptl/lib/lib.a /usr/src/linux-2.4.22-1.2061.nptl/arch/i386/lib/lib.a --end-group -o .tmp_vmlinux1 kernel/kernel.o(.text+0xfc3): In function `schedule': : undefined reference to `active_load_balance' make[1]: *** [kallsyms] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.22-1.2061.nptl' make: *** [vmlinux] Error 2
Dave, please patch the Makefile so that it uses gcc32
I can do this, however it won't fix the compile breakage above. That's from Ingo's creative usage of CONFIG_ to work around limitations of the 2.4 build system. Also note that building a kernel using rpm -b will DTRT, as it sets CC=gcc32 in BuildKernel()
building from kernel-source package is important. The other error should go away if you run "make oldconfig" (or run it again). Ugly hack. :-(
Fixed