From: Dan Kesch (dan@cadkey.cadkey.com)
Date: 05/18/93


From: dan@cadkey.cadkey.com (Dan Kesch)
Subject: [Q]: 0.99pl8 kernel recompile fails -- inline functions in io.h?
Date: Tue, 18 May 1993 14:58:48 GMT

Hi everybody,

yesterday, I attempted to recompile my 0.99pl8 (SLS 1.01) version of the
kernel. However, I ran into the following problems:

[My box: Gateway 486/33C, 16 MB RAM, 245 MB Seagate SCSI drive dedicated to
    Linux, Adaptec 1542B controller, WD8003E ethercard]

1) After running 'make config', I was not able to run 'make dep' to come up
    with a dependency file, for the 'make dep' call in the kernel subsystem
    was failing, giving me a "out of virtual memory" error ('tho I have a
    16 MB swap-partition that IS working correctly).
    
    Workaround: I 'hand-made' the dependency file by walking through all
    the Linux sub-dirs.
    
2) The above seemed to at least cause all the subsystems to be compiled,
    as can be seen from the output listed below. But when it came to
    linking everything together, 'ld' failed, providing me with the following
    error log [see below].

rm -f tools/version.h

gcc -DKERNEL -Wall -Wstrict-prototypes -O6 -fomit-frame-pointer -m486 -c -o
tools/version.o tools/version.c

kernel
chr_drv
sound
make[3]: `sound.a' is up to date.
blk_drv
scsi
make[3]: `scsi.a' is up to date.
FPU-emu
make[2]: `math.a' is up to date.

mm
make[1]: `mm.o' is up to date.

fs
rm -f filesystems.a
ext2
make[2]: `ext2.o' is up to date.
msdos
make[2]: `msdos.o' is up to date.
proc
make[2]: `proc.o' is up to date.
isofs
make[2]: `isofs.o' is up to date.
nfs
make[2]: `nfs.o' is up to date.

net
for i in tcp; do (cd $i && echo $i && make) || exit; done
tcp
make[2]: `tcpip.a' is up to date.
ld -r -o net.o socket.o unix.o tcp/tcpip.a

lib
make[1]: `lib.a' is up to date.

ld -M boot/head.o init/main.o tools/version.o kernel/kernel.o mm/mm.o
fs/fs.o net/net.o fs/filesystems.a kernel/blk_drv/blk_drv.a
kernel/chr_drv/chr_drv.a kernel/blk_drv/scsi/scsi.a
kernel/chr_drv/sound/sound.a kernel/FPU-emu/math.a lib/lib.a
-o tools/system > System.map

kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _unlock_buffer referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _inb_p referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _outb referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _inb_p referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _inb_p referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _outb_p referenced from text segment
kernel/blk_drv/blk_drv.a(floppy.o):
Undefined symbol _outb_p referenced from text segment

make: *** [tools/system] Error 1

Any suggestions? The above appear to be all assembly routines that are defined
inline in linux/include/asm/io.h. What is not getting included so that the
above is not able to be linked in?

Any help is much appreciated.

Dan.

|---------------------------------------------------------------------------|
| Dan Kesch, Tel. (203)-298-8888 # 7142 |
| Cadkey, Inc. Internet: dan@cadkey.cadkey.com |