Bug 15229

Summary: AGP problem in kernel-source-2.2.16-17
Product: [Retired] Red Hat Linux Reporter: Bernhard Ege <bme>
Component: kernelAssignee: Michael K. Johnson <johnsonm>
Status: CLOSED DUPLICATE QA Contact:
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-08-03 13:13:37 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 Bernhard Ege 2000-08-03 12:54:45 UTC
Having enabled AGP support (general and AMD Irongate support) the
compilation halts in drivers/char with this message:

rm -f char.a
ar  rcs char.a pty.o misc.o console.o selection.o serial.o keyboard.o
sysrq.o tty_io.o n_tty.o tty_ioctl.o mem.o random.o raw.o vt.o vc_screen.o
consolemap.o consolemap_deftbl.o pc_keyb.o defkeymap.o rtc.o agp/agpgart.o
ar: agp/agpgart.o: No such file or directory
make[3]: *** [char.a] Error 1

Files present in drivers/char/agp are:

Makefile  agp.o          agpgart.h     agpgart_be.o  agpgart_fe.o
agp.h     agp_backend.h  agpgart_be.c  agpgart_fe.c

Makefile has a target called agpgart.o, but O_TARGET is set to agp.o. Which
os these two targets is the correct one?

I chose to change O_TARGET to agpgart.o and resumed compilation. This time
it continued all the way to the end, when it failed with this error:

kgcc -D__KERNEL__ -I/usr/src/linux-2.2.16/include -E -C -P
-I/usr/src/linux-2.2.16/include -imacros
/usr/src/linux-2.2.16/include/asm-i386/page_offset.h -Ui386
arch/i386/vmlinux.lds.S >arch/i386/vmlinux.lds
ld -m elf_i386 -T /usr/src/linux-2.2.16/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.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 \
	fs/filesystems.a \
	net/network.a \
	drivers/block/block.a drivers/char/char.a drivers/misc/misc.a
drivers/net/net.a drivers/cdrom/cdrom.a drivers/pci/pci.a drivers/pnp/pnp.a
drivers/video/video.a \
	/usr/src/linux-2.2.16/arch/i386/lib/lib.a /usr/src/linux-2.2.16/lib/lib.a
/usr/src/linux-2.2.16/arch/i386/lib/lib.a \
	--end-group \
	-o vmlinux
init/main.o: In function `do_basic_setup':
init/main.o(.text.init+0xccd): undefined reference to `agp_initialize'
init/main.o(.data.init+0x12c): undefined reference to `agp_setup'
make: *** [vmlinux] Error 1

I have search the source with "rgrep -ril agp_initialize *" (started in
/usr/src/linux) and it did not find that symbol. agp_setup is not even used
by init/main.c and agp_initialize exists as agp_frontend_initialize and
agp_backend_initialize.

Comment 1 Sammy 2000-08-03 13:13:37 UTC
Yes....I had the identical problem with 2.2.16-12 from rawhide....the only
way you can compile is as a module!

Comment 2 Michael K. Johnson 2000-08-08 03:35:31 UTC

*** This bug has been marked as a duplicate of 13424 ***