Bug 21340 - svgalib-1.9.17-r1 fails build against 2.5.69 kernel
|
Bug#:
21340
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: blocker
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: azarah@gentoo.org
|
Reported By: jcwren@jcwren.com
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: svgalib-1.9.17-r1 fails build against 2.5.69 kernel
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-05-20 10:41 0000
|
make: Leaving directory
`/var/tmp/portage/svgalib-1.9.17-r1/work/svgalib-1.9.17/threeDKit'
/bin/sh: line 1: [: /usr/src/linux/include: binary operator expected
awk: cmd. line:2: fatal: file `/usr/src/linux/include' is a directory
make: Entering directory
`/var/tmp/portage/svgalib-1.9.17-r1/work/svgalib-1.9.17/kernel/svgalib_helper'
gcc -O2 -DLINUX -Dlinux -D__KERNEL__ -DMODULE -Wall -I/usr/src/linux/include
-I/usr/src/linux/include/asm/mach-default -DSVGALIB_HELPER_MAJOR=209 -M *.c >
.depend
gcc -O2 -DLINUX -Dlinux -D__KERNEL__ -DMODULE -Wall -I/usr/src/linux/include
-I/usr/src/linux/include/asm/mach-default -DSVGALIB_HELPER_MAJOR=209 -c -o
main.o main.c
main.c: In function `svgalib_helper_ioctl':
main.c:298: warning: implicit declaration of function `request_irq'
main.c:315: warning: implicit declaration of function `free_irq'
main.c:109: warning: `i' might be used uninitialized in this function
main.c: In function `svgalib_helper_open':
main.c:338: warning: `MOD_INC_USE_COUNT' is deprecated (declared at
/usr/src/linux/include/linux/module.h:456)
main.c: In function `svgalib_helper_release':
main.c:344: warning: `MOD_DEC_USE_COUNT' is deprecated (declared at
/usr/src/linux/include/linux/module.h:468)
main.c: In function `init_module':
main.c:442: warning: implicit declaration of function `devfs_register_chrdev'
main.c:456: warning: null format string
main.c:456: warning: too many arguments for format
main.c:456: warning: assignment makes pointer from integer without a cast
main.c:457: warning: implicit declaration of function `devfs_register_series'
main.c:460: too many arguments to function `devfs_mk_symlink'
main.c:461: warning: implicit declaration of function `devfs_auto_unregister'
main.c:515: `EXPORT_NO_SYMBOLS' undeclared (first use in this function)
main.c:515: (Each undeclared identifier is reported only once
main.c:515: for each function it appears in.)
main.c:522: warning: implicit declaration of function `devfs_unregister_chrdev'
main.c: In function `cleanup_module':
main.c:535: warning: implicit declaration of function `devfs_unregister'
make: *** [main.o] Error 1
make: Leaving directory
`/var/tmp/portage/svgalib-1.9.17-r1/work/svgalib-1.9.17/kernel/svgalib_helper'
!!! ERROR: media-libs/svgalib-1.9.17-r1 failed.
!!! Function src_compile, Line 77, Exitcode 2
!!! Failed to build kernel module!
Reproducible: Always
Steps to Reproduce:
1. emerge svgalib-1.9.17-r1
2.
3.
Actual Results:
See [Details]
Expected Results:
Installed correctly :)
Note that awk also throws an error about the /usr/src/linux being a directory,
which is actually a symlink to linux-2.5.69.
same results with my system under 2.5.70-mm3 kernel
Same result for me under development-sources-2.5.70 and gcc3.3
Also a similiar result for svgalib-1.9.16 (Line 48 and src_install, but same errors before, ...)
fails to compile under 2.5.72 alos :(((
az - seems like you fixed it once... want to look @ it again?
This is still a big issue, esp when installing on new machines and using any
2.6.x kernel.
Please increase priority :)
Erik
svgalib-1.9.17-r2 fails too because he wants
/usr/src/linux/includes/linux/modversions.h and this does not exist there in 2.4 and
is in config/modversions.h in 2.5/6
Ok, here is the story:
1) It will only work with 2.4 and 2.6 kernels, and _not_ 2.5 kernels.
2.5 is in the past, get over it 8)
2) You need a kernel with module support, which thus have a modversions.h
header:
---------------------------------------------------------------------------
azarah@nosferatu azarah $ ls /usr/src/linux-2.4.20/include/linux/modversions.h
/usr/src/linux-2.4.20/include/linux/modversions.h
azarah@nosferatu azarah $
---------------------------------------------------------------------------
3) You will only have a version.h, modversion.h, etc _temporary_ headers if
you run 'make dep' in 2.4 kernels, and for 2.6 - err, start the compile
for a while :/
Questions ? :)
Anyhow, should be fixed for 2.4/2.6 kernels.
No, it is not fixed as far as I can see.
I just tried to compile svgalib-1.9.17-r2 against mm-sources (2.6.0-test2-mm4) and it can still not find modversions.h. The reason is that it looks for it in the wrong place:
Here is a typical example:
gcc -O2 -DLINUX -Dlinux -D__KERNEL__ -DMODULE -nostdinc -iwithprefix include -DKBUILD_MODNAME="svgalib_helper" -I/var/tmp/portage/svgalib-1.9.17-r2/work/svgalib-1.9.17/kernel/svgalib_helper/include -I. -I/lib/modules/2.6.0-test2-mm4/build/include -I/lib/modules/2.6.0-test2-mm4/build/include/asm/mach-default -DSVGALIB_HELPER_MAJOR=209 -DMODVERSIONS -include /lib/modules/2.6.0-test2-mm4/build/include/linux/modversions.h -M *.c > .depend
Now the file, modversions.h, is located here:
/usr/src/linux-2.6.0-test2-mm4/include/config/modversions.h
Hence the problem is not solved and it still requires manual intervention in order to get it to build.
The header file does not exist under /lib/modules/2.6.0-test2-mm4 either and I do use modules as the output of lsmod shows:
Module Size Used by
snd_pcm_oss 58148 0
snd_pcm 108192 1 snd_pcm_oss
snd_page_alloc 16388 1 snd_pcm
snd_timer 31620 1 snd_pcm
snd_mixer_oss 23680 1 snd_pcm_oss
snd 59620 4 snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
Bleh, sorry guys - I did try to test as best possible, but I forgot that my
2.5/6 kernels do not have CONFIG_MODVERSIONS set anymore. Should really be
fixed in -r3 =)