Bug 85198

Summary: errata kernel source fails to compile
Product: [Retired] Red Hat Linux Reporter: Gary Shi <me>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-07 19:39:45 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 Gary Shi 2003-02-26 16:28:48 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130

Description of problem:
errata kernel source (2.4.18-19.7.x and 2.4.18-24.7.x) fails to compile.
fresh installation of redhat 7.3, gcc upgraded to 2.96-113, glibc 2.2.5-42. use
default kernel configuration (configs/kernel-2.4.18-i686.config), "make modules"
fails on drm char drivers sis_mm.c.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. rm -fr /usr/src/linux-*
2. rpm -i kernel-source-2.4.18-24.7.x.i386.rpm
3. cd /usr/src/linux-2.4
4. cp configs/kernel-2.4.18-i686.config .config
5. make dep
6. make bzImage
7. make modules
    

Actual Results:  make[3]: Entering directory
`/usr/src/linux-2.4.18-24.7.x/drivers/char/drm'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-24.7.x/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE
-DMODVERSIONS -include /usr/src/linux-2.4.18-24.7.x/include/linux/modversions.h
 -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
-DKBUILD_BASENAME=sis_mm  -c -o sis_mm.o sis_mm.c
In file included from sis_mm.c:33:
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:116: floating constant
exponent has no digits
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:116: missing white space
after number `5e'
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:116: parse error before `5e'
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:116: warning: function
declaration isn't a prototype
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:118: `sis_malloc_R_ver_str'
declared as function returning a function
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:118: warning: parameter names
(without types) in function declaration
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:119: `sis_free_R_ver_str'
declared as function returning a function
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:119: warning: parameter names
(without types) in function declaration
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:120: nondigits in number
andnot hexadecimal
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:120: nondigits in number
andnot hexadecimal
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:120: parse error before
`601b25a5'
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:120: `sis_dispinfo_R_ver_str'
declared as function returning a function
/usr/src/linux-2.4.18-24.7.x/include/linux/sisfb.h:120: warning: function
declaration isn't a prototype
sis_mm.c: In function `sis_fb_alloc':
sis_mm.c:87: warning: implicit declaration of function `sis_malloc_Ra3329ed5'
sis_mm.c:94: warning: implicit declaration of function `sis_free_Rced25333'
make[3]: *** [sis_mm.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.18-24.7.x/drivers/char/drm'
make[2]: *** [_modsubdir_drm] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.18-24.7.x/drivers/char'
make[1]: *** [_modsubdir_char] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.18-24.7.x/drivers'
make: *** [_mod_drivers] Error 2


Expected Results:  successful compilation

Additional info:

Comment 1 Michael Schwendt 2003-02-26 21:14:36 UTC
Insert "make mrproper" between steps 3 and 4.
Insert "make oldconfig" between steps 4 and 5.

Comment 2 Need Real Name 2003-03-07 01:54:53 UTC
It doesn't make for me either. I used the standard i686 config file, selected
using make xconfig and then picking out that config file. The Makefile was
edited to get rid of the "custom" and then make dep was run.

The problem I noticed was that no kernel modules seemed to want to compile
against this setup. ALSA failed, as did the ltmodem drivers, and then the vmware
modules.

All of those gave errors like:


gcc -D__KERNEL__ -DMODULE=1
-I/opt/local/src/Sound/alsa/rc8/alsa-driver-0.9.0rc8b/include 
-I/lib/modules/2.4.18-26.7.x/build/include -O2 -mpreferred-stack-boundary=2
-march=i686 -DLINUX -Wall -Wstrict-prototypes -fomit-frame-pointer
-Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -DALSA_BUILD  
-DEXPORT_SYMTAB -c hwdep.c
In file included from /lib/modules/2.4.18-26.7.x/build/include/linux/prefetch.h:13,
                 from /lib/modules/2.4.18-26.7.x/build/include/linux/list.h:6,
                 from
/lib/modules/2.4.18-26.7.x/build/include/linux/module.h:12,                 from
/opt/local/src/Sound/alsa/rc8/alsa-driver-0.9.0rc8b/include/adriver.h:49,
                 from
/opt/local/src/Sound/alsa/rc8/alsa-driver-0.9.0rc8b/include/sound/driver.h:43,
                 from ../alsa-kernel/core/hwdep.c:22,
                 from hwdep.c:1:
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:51: warning: parameter
names (without types) in function declaration
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:51: field
`loops_per_jiffy_R_ver_str' declared as a function
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:73: nondigits in number
and not hexadecimal
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:73: parse error before
`0657d037'

which are truly weird because the string 0657d037 is not in that file.

gcc -D__KERNEL__ -I/lib/modules/2.4.18-26.7.x/build/include -Wall
-Wstrict-prototypes -O3 -fomit-frame-pointer -fno-strict-aliasing -pipe
-fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2
-DCPU=586 -DMODULE -DLT_VERSION=8.26a9 -DLINUX -DNO_EEPROM
-DLT_SERIAL_MODULE=lt_serial -c -o ltmodem.a ltmodem.c
In file included from /lib/modules/2.4.18-26.7.x/build/include/linux/prefetch.h:13,
                 from /lib/modules/2.4.18-26.7.x/build/include/linux/list.h:6,
                 from
/lib/modules/2.4.18-26.7.x/build/include/linux/module.h:12,                 from
ltmodem.c:34:
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:51: warning: parameter
names (without types) in function declaration
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:51: field
`loops_per_jiffy_R_ver_str' declared as a function
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:73: nondigits in number
and not hexadecimal
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:73: parse error before
`0657d037'
/lib/modules/2.4.18-26.7.x/build/include/asm/processor.h:73: warning: function
declaration isn't a prototype

and 

Building for VMware Workstation 3.2.x
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make[1]: Entering directory `/tmp/vmware-config0/vmmon-only'
make[2]: Entering directory
`/tmp/vmware-config0/vmmon-only/driver-2.4.18-26.7.x'make[2]: Leaving directory
`/tmp/vmware-config0/vmmon-only/driver-2.4.18-26.7.x'
make[2]: Entering directory
`/tmp/vmware-config0/vmmon-only/driver-2.4.18-26.7.x'In file included from
.././linux/driver.c:43:
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:60: nondigits in number
and not hexadecimal
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:60: nondigits in number
and not hexadecimal
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:60: parse error before
`01075bf0'
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:61: `panic_R_ver_str'
declared as function returning a function
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:61: warning: function
declaration isn't a prototype
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:67: parse error before
`20000329'
/lib/modules/2.4.18-26.7.x/build/include/linux/kernel.h:67:
`simple_strtoul_R_ver_str' declared as function returning a function



Even a straight compile of the kernel barfed with the message:

kallsyms pass 1
ld -m elf_i386 -T /usr/src/linux-2.4.18-26.7.x/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/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/md/mddev.o drivers/isdn/vmlinux-obj.o drivers/sensors/sensor.o
net/network.o crypto/crypto.o abi/abi.o
/usr/src/linux-2.4.18-26.7.x/arch/i386/lib/lib.a
/usr/src/linux-2.4.18-26.7.x/lib/lib.a
/usr/src/linux-2.4.18-26.7.x/arch/i386/lib/lib.a --end-group -o .tmp_vmlinux1
fs/fs.o: In function `zisofs_readpage':
fs/fs.o(.text+0x2e19c): undefined reference to `zlib_inflateInit_'
fs/fs.o(.text+0x2e2e2): undefined reference to `zlib_inflate'
fs/fs.o(.text+0x2e4a9): undefined reference to `zlib_inflateEnd'
fs/fs.o: In function `mnt_init':
fs/fs.o(.text.init+0x93c): undefined reference to `init_rootfs'
fs/fs.o: In function `zisofs_init':
fs/fs.o(.text.init+0xc89): undefined reference to `zlib_inflate_workspacesize'
make[1]: *** [kallsyms] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.18-26.7.x'
make: *** [vmlinux] Error 2


So something is messed up here. The kernel RPMS had correct MD5 hashes.

Comment 3 Arjan van de Ven 2003-03-07 10:44:23 UTC
1) you forgot make mrproper too
and 
2) if you want to compile external modules for the kernel binary RH ships, you
should NOT run make dep, because that destroys the information needed for that.

Comment 4 Michael Schwendt 2003-03-17 12:46:21 UTC
> fs/fs.o(.text+0x2e19c): undefined reference to `zlib_inflateInit_'

Additionally, don't use "make xconfig". Use "make menuconfig". xconfig is known
to create bad kernel configs. This particular one (zlib) is documented in
bugzilla somewhere else.