# ati-drivers error implicit declaration, kernel 2.6.34-r11

## lixo1

Dear all,

yesterday I updated my gentoo with fglrx driver doing:

emerge --sync

emerge --update --deep --ask --newuse world

emerge --depclean

revdep-rebuild

The kernel 2.6.34-r11, removed fglrx. I tried to reinstall it with emerge ati-drivers (version 10.8 ) but I got the famous:

```

error: implicit declaration of function ‘compat_alloc_user_space’

[/var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o]

Error 1

```

Emerging ati-version 10.9-r1 solves the problem. 

Should someone unmask version 10.9? Every time I update the kernel do I need to reinstall fglrx?

Thank you very much for any kind of help!Last edited by lixo1 on Sat Oct 09, 2010 2:04 pm; edited 1 time in total

----------

## CaptainBlood

I had no problem with the unmasked update. AFAIK ati-driver re-emerge is required when changing kernel but not release level. ie I updated 34-r6 to 34-r11. Re emerge was not required.

At least that how it worked for me. Maybe someone will tell you more about it.

----------

## rh1

 *Quote:*   

> Every time I update the kernel do I need to reinstall fglrx? 

 

When upgrading kernel, you should rebuild all your packages which provide modules including fglrx

Easiest way is to use module-rebuild:

```
*  sys-kernel/module-rebuild

      Latest version available: 0.6

      Latest version installed: 0.6

      Size of files: 0 kB

      Homepage:      http://www.gentoo.org/

      Description:   A utility to rebuild any kernel modules which you have installed

      License:       GPL-2
```

----------

## lixo1

Thank you very much for yours hits!

But I'm getting this error with 10.8!

----------

## erikdenv

Same problem here. After upgrading to gentoo-sources-2.6.34-r11 ati-drivers 10.8 won't build.

When upgrading the kernel I always re-emerge ati-drivers but this time the emerge fails.

My emerge ends with:

make[2]: *** [/var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o] Error 1

make[2]: *** Waiting for unfinished jobs....

In file included from /var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:451:

/var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h: In function 'FGLDRM__vma_info':

/var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x/drm_proc.h:497: warning: format '%08lx' expects type 'long unsigned int', but argument 5 has type 'phys_addr_t'

make[1]: *** [_module_/var/tmp/portage/x11-drivers/ati-drivers-10.8/work/common/lib/modules/fglrx/build_mod/2.6.x] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.34-gentoo-r11'

make: *** [kmod_build] Error 2

 * ERROR: x11-drivers/ati-drivers-10.8 failed:

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=  GCC_VER_MAJ=4 KVER=2.6.34-gentoo-r11 KDIR=/usr/src/linux kmod_build

 * 

 * Call stack:

 *     ebuild.sh, line   54:  Called src_compile

 *   environment, line 3712:  Called linux-mod_src_compile

 *   environment, line 2865:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                                               CROSS_COMPILE=${CHOST}-       LDFLAGS=\"$(get_abi_LDFLAGS)\"                                           ${BUILD_FIXES}                                          ${BUILD_PARAMS}                                                ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 * 

 * If you need support, post the output of 'emerge --info =x11-drivers/ati-drivers-10.8',

 * the complete build log and the output of 'emerge -pqv =x11-drivers/ati-drivers-10.8'.

 * The complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-10.8/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/ati-drivers-10.8/temp/environment'.

 * S: '/var/tmp/portage/x11-drivers/ati-drivers-10.8/work'

What's your output of emerge?

----------

## lixo1

Exactly the same error.

Only ati-drivers 10.9-r1 works with gentoo-sources-2.6.34-r11.

----------

## Apheus

 *lixo1 wrote:*   

> Exactly the same error.
> 
> Only ati-drivers 10.9-r1 works with gentoo-sources-2.6.34-r11.

 

I'm not at my box at the moment, but I had the same problem. It is related to one patch which was necessary for a security fix in the kernel source -r11 (CVE-2010-3081, https://bugzilla.redhat.com/show_bug.cgi?id=634457). This patch is in the ati-drivers-10.9-r1 ebuild, but not in previous versions. Changelog says:

 *Quote:*   

> 
> 
> +files/ati-drivers-CVE-2010-3081-fix.patch, +ati-drivers-10.9-r1.ebuild:
> 
> Address CVE-2010-3081 related changes
> ...

 

I just updated to 10.9-r1, didn't try to backport the patch.

----------

## erikdenv

Upgraded to ati-drivers 10.9-r1 and emerge completes correctly.

I went back to amd64 stable some time ago to avoid these situations.

Thanks for helping out.

----------

## CaptainBlood

Same here   :Wink: 

----------

