Bug 85198 - errata kernel source fails to compile
Summary: errata kernel source fails to compile
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.3
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-02-26 16:28 UTC by Gary Shi
Modified: 2007-04-18 16:51 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-06-07 19:39:45 UTC
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.