Summary: | SvgaLib does not compile kernel module if kernel is built outside the kernel tree | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Paolo Pedroni <paolo.pedroni> |
Component: | [OLD] Library | Assignee: | x86-kernel (DEPRECATED) <x86-kernel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | vapier |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Paolo Pedroni
2004-06-24 13:44:04 UTC
Portage 2.0.50-r8 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r5) ================================================================= System uname: 2.6.7-gentoo-r5 i686 AMD Athlon(tm) XP 3200+ Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.inode.at/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ ftp://gentoo.inode.at/source/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d aalib acpi alsa arts avi berkdb bindist bonobo cdr crypt cups curl dga divx4linux doc dvd encode esd evo foomaticdb gb gd gdbm gif gnome gpm gtk gtk2 gtkhtml imlib ipv6 java joystick jpeg kde libg++ libwww mad maildir mbox mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline scanner sdl slang spell sse ssl svga tcltk tcpd tetex threads tiff truetype unicode usb videos wmf x86 xml2 xmms xosd xv xvid zlib" *** Bug 55079 has been marked as a duplicate of this bug. *** i'm not about to go changing anything in svgalib to support this i'll leave the kernel team to tackle this since i dont care to Why not? It should be nothing more than a few lines in the ebuild. I've never written an ebuild, and I'm at work with a WinXP system (so no diffs), but if you rewrite the kernel_supports_modules() function as: kernel_supports_modules() { grep '^CONFIG_MODULES=y$' /usr/src/linux/.config || grep \ '^CONFIG_MODULES=y$' $KBUILD_OUTPUT/$KV/.config >& /dev/null } it /should/ work (haven't tried it yet, though). Make that $KBUILD_OUTPUT in the last comment $KBUILD_OUTPUT_PREFIX make symlink /usr/src/linux point to /var/tmp/kernel-output/2.6.x-whatever? >>> emerge (2 of 5) media-libs/svgalib-1.9.19 to / >>> md5 src_uri ;-) svgalib-1.9.19.tar.gz * * Could not determine your kernel version. * Make sure that you have /usr/src/linux symlink. * And that said kernel has been configured. * You can also simply run the following command * in the kernel referenced by /usr/src/linux: * make include/linux/version.h * !!! ERROR: media-libs/svgalib-1.9.19 failed. !!! Function check_KV, Line 253, Exitcode 0 !!! (no error message) emerge --info Portage 2.0.50-r9 (default-x86-2004.2, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r9) ================================================================= System uname: 2.6.7-gentoo-r9 i686 Intel(R) Pentium(R) M processor 1400MHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -pipe -funroll-loops -ffast-math -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -pipe -funroll-loops -ffast-math -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage" USE="X aac aalib acpi acpi4linux alsa arts avi bonobo cdr crypt cups curl dga dvd encode esd fbcon foomatic foomaticdb ggi gif gphoto2 gpm gtk gtk2 gtkhtml icc imagemagick imlib java javascript jpeg kde lcms libg++ libwww linguas_it lirc mad mbox mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png pnp ppds python pyton qt quicktime readline sdl slang spell sse ssl svga tcltk tcpd tiff truetype unicode usb videos wmf wxwindows x86 xml xml2 xmms xosd xv xvid zlib" As written in other BUG reports about svgalib, I solved my problem giving /USE=build/ Honestly now I'm curious to understand why now it works... Spanky, please look at comments #4 and #5 - probably the best way to examine a kernel .config is to look in $KBUILD_OUTPUT_PREFIX if non-null and the directory exists, and if not, fall back to /usr/src/linux By the way, a better way might be to check for the presence of /proc/modules as I guess this won't exist if the kernel doesn't support loading modules (but please check this!) since more than just svgalib will care about checking for kernel features via .config, here's how the 'fix' is going to happen ... someone from the kernel config team will add a function or two to one of the kernel eclasses ... then they'll tell me what that function is and i'll have svgalib use it suggested functions: kernel_supports_modules() kernel_supports_feature([kernel feature to look for]) oops, i forgot to re-assign to the kernel team kernel guys: please review comment #10 Since this bug was opened, it has been said that config-kernel and kouput is not ready for use yet so we don't support it. But, good call on the config parsing / module check idea, I've now implemented this. inherit kernel-mod And check the return value of kernel-mod_modules_supported Further simplification, no need to check return value of that, just include a call to "kernel-mod_check_modules_supported" thanks guys, fixed svgalib in cvs to use the new kernel-mod function |