Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 105979

Summary: kernel-source Makefile uses gcc not gcc32
Product: [Fedora] Fedora Reporter: Michel Alexandre Salim <michel.salim>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: pfrields, scowles
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-10-28 16:37:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 100643    

Description Michel Alexandre Salim 2003-09-30 03:45:42 UTC
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:

Comment 1 Need Real Name 2003-09-30 05:46:42 UTC
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 
 

Comment 2 Michael K. Johnson 2003-10-21 20:26:22 UTC
Dave, please patch the Makefile so that it uses gcc32

Comment 3 Dave Jones 2003-10-21 20:57:53 UTC
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()


Comment 4 Michael K. Johnson 2003-10-27 16:59:15 UTC
building from kernel-source package is important.

The other error should go away if you run "make oldconfig" (or run it
again).  Ugly hack.  :-(

Comment 5 Dave Jones 2003-10-28 16:37:22 UTC
Fixed