After compiling and installing kernel 2.26.25, trying to install x11-drivers/ati-drivers-8.471.3 breaks with an error. Reproducible: Always Steps to Reproduce: 1. Install kernel 2.26.25-gentoo 2. emerge ati-drivers Actual Results: ower ~ # emerge ati-drivers Calculating dependencies... done! >>> Verifying ebuild Manifests... >>> Emerging (1 of 1) x11-drivers/ati-drivers-8.471.3 to / * ati-driver-installer-8-3-x86.x86_64.run RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking ati-driver-installer-8-3-x86.x86_64.run ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.25-gentoo >>> Unpacking source... Warning: target directory exists /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work Verifying archive integrity... All good. Uncompressing ATI Proprietary Linux Driver-8.471..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... * Applying ati-powermode-opt-path-2.patch ... [ ok ] * Converting 2.6.x/Makefile to use M= instead of SUBDIRS= ... [ ok ] >>> Unpacking ./../common/usr/src/ati/fglrx_sample_source.tgz to /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/extra >>> Source unpacked. >>> Compiling source in /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work ... * Preparing fglrx module make -C /usr/src/linux M=/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x modules make[1]: Entering directory `/usr/src/linux-2.6.25-gentoo' CC [M] /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'firegl_put_user_ptr': /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_PosixSecurityCapGetEffectiveVector': /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1888: error: implicit declaration of function 'cap_t' /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_PosixSecurityCapSetEffectiveVector': /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1896: error: invalid lvalue in assignment /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__ke_unregister_ioctl32_conversion': /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2972: warning: 'return' with a value, in function returning void /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KAS_SlabCache_Initialize': /var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5219: warning: cast from pointer to integer of different size make[2]: *** [/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1 make[1]: *** [_module_/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/work/common/lib/modules/fglrx/build_mod/2.6.x] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.25-gentoo' make: *** [kmod_build] Error 2 * * ERROR: x11-drivers/ati-drivers-8.471.3 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3255: Called linux-mod_src_compile * environment, line 2464: Called die * The specific snippet of code: * eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CC=\"$(get-KERNEL_CC)\" LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.25-gentoo KDIR=/usr/src/linux kmod_build * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/temp/environment'. * * Messages for package x11-drivers/ati-drivers-8.471.3: * * ERROR: x11-drivers/ati-drivers-8.471.3 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3255: Called linux-mod_src_compile * environment, line 2464: Called die * The specific snippet of code: * eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CC=\"$(get-KERNEL_CC)\" LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc LDFLAGS= GCC_VER_MAJ=4 KVER=2.6.25-gentoo KDIR=/usr/src/linux kmod_build * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/ati-drivers-8.471.3/temp/environment'. [*] IA32 Emulation <*> IA32 a.out support is set.
The caps part is easy to fix (now it is really a vector so you have either to iterate on it or just pick the first) init_mm and the page flush seems more annoying
I think that just upstream can solve it cleanly since we got 2 missing function for sure and the tlb manipulation stuff isn't available anymore.
(In reply to comment #2) > I think that just upstream can solve it cleanly since we got 2 missing function > for sure and the tlb manipulation stuff isn't available anymore. > Great! We all understand. I put my cap on when it's raining, and I like to swim upstream sometimes... I'm joking... Is there a solution, besides this mumbo-jumbo for end users? I emerge --sync'd, I recompiled kernel, but no way to do ati-drivers update... I also note that it appears on my Gentoo at the time below: Linux ... 2.6.26-gentoo-r3-081203_1448 #8 SMP Wed Dec 3 14:50:02 CET 2008 x86_64 AMD Athlon(tm) 64 Processor 3500+ AuthenticAMD GNU/Linux