Bug 18954

Summary: make bzImage failed with undefined variable
Product: [Retired] Red Hat Linux Reporter: Need Real Name <multics>
Component: kernelcfgAssignee: Nalin Dahyabhai <nalin>
Status: CLOSED WONTFIX QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
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: 2000-10-12 13:09:26 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:

Description Need Real Name 2000-10-12 13:09:21 UTC
make bzImage fails with an undefined variable smp_num_cpus

I used the make menuconfig to configure the system.  The resulting .config 
file can be found at http://ruserved.com/.config

I boot of IDE and but have all user data on DPT SCSI (DPT PM3334)
I had no problem doing the kernel config on rh6.x and activating the
DPT eata driver.  I did the same thing on rh7.0 and got the following
error during the kernel make that smp_num_cpus was undefined in ksyms.c
see additional commets for abbreviated error output.

I edited kernel_stat.h just to get the kernel to compile and work:
#//ATTN original line   for (i = 0 ; i < smp_num_cpus ; i++)
    for (i = 0 ; i < 1 ; i++)

make[2]: Entering directory `/usr/src/linux-2.2.16/kernel'
kgcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 
-fomit-
frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 
-malign-loop
s=2 -malign-jumps=2 -malign-functions=2 -DCPU=586   -DEXPORT_SYMTAB -c 
ksyms.c
In file included from /usr/src/linux/include/linux/modversions.h:49,
                 from /usr/src/linux/include/linux/module.h:19,
                 from ksyms.c:14:
/usr/src/linux/include/linux/modules/i386_ksyms.ver:6: warning: `cpu_data' 
redef
ined
/usr/src/linux/include/asm/processor.h:96: warning: this is the location of 
the
previous definition
/usr/src/linux/include/linux/modules/i386_ksyms.ver:28: warning: 
`smp_num_cpus'
redefined
/usr/src/linux/include/linux/smp.h:77: warning: this is the location of the 
prev
ious definition
/usr/src/linux/include/linux/modules/i386_ksyms.ver:118: warning: 
`smp_call_func
/usr/src/linux/include/linux/modules/i386_ksyms.ver:118: warning: 
`smp_call_func
tion' redefined
/usr/src/linux/include/linux/smp.h:83: warning: this is the location of the 
prev
ious definition
In file included from /usr/src/linux/include/linux/interrupt.h:51,
                 from ksyms.c:21:
/usr/src/linux/include/asm/hardirq.h:23: warning: `synchronize_irq' 
redefined
/usr/src/linux/include/linux/modules/i386_ksyms.ver:138: warning: this is 
the lo
cation of the previous definition
In file included from /usr/src/linux/include/linux/interrupt.h:52,
                 from ksyms.c:21:
/usr/src/linux/include/asm/softirq.h:75: warning: `synchronize_bh' 
redefined
/usr/src/linux/include/linux/modules/i386_ksyms.ver:142: warning: this is 
the lo
cation of the previous definition
/usr/src/linux/include/linux/kernel_stat.h: In function `kstat_irqs':
In file included from ksyms.c:17:
/usr/src/linux/include/linux/kernel_stat.h:47: `smp_num_cpus' undeclared 
(first
use in this function)
/usr/src/linux/include/linux/kernel_stat.h:47: (Each undeclared identifier 
is re
ported only once
/usr/src/linux/include/linux/kernel_stat.h:47: for each function it appears 
in.)
make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.2.16/kernel'
make[1]: *** [first_rule] Error 2

Comment 1 Alan Cox 2000-10-14 17:45:20 UTC
Do a  make mrproper before reconfiguring and building when the SMP/non SMP case
changed.