web-dev-qa-db-fra.com

Erreur lors de l'installation de Catalyst 13.12 sur Ubuntu 13.10 32 bits

J'ai téléchargé les pilotes Catalyst sur le site AMD, je l'ai déballé et j'ai créé un package avec

$ Sudo ./AMD-catalyst-13.12-linux-x86.x86_64.run --buildpkg Ubuntu/saucy
Created directory fglrx-install.FLGUtu
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-13.251......................................................................................................................................................
..............................................................................................................................................................................................................
..............................................................................................................................................................................................................
=====================================================================
 AMD Catalyst(TM) Proprietary Driver Installer/Packager 
=====================================================================
Generating package: Ubuntu/saucy
1Package /home/XXX/Downloads/drivers_13.251/fglrx_13.251-0ubuntu1_i386.deb has been successfully generated
Package /home/XXX/Downloads/drivers_13.251/fglrx-dev_13.251-0ubuntu1_i386.deb has been successfully generated
Package /home/XXX/Downloads/drivers_13.251/fglrx-amdcccle_13.251-0ubuntu1_i386.deb has been successfully generated
Removing temporary directory: fglrx-install.FLGUtu

Après cela, j'essaie d'installer ces packages mais j'obtiens:

$ Sudo dpkg -i fglrx_13.251-0ubuntu1_i386.deb fglrx-amdcccle_13.251-0ubuntu1_i386.deb fglrx-dev_13.251-0ubuntu1_i386.deb 
Selecting previously unselected package fglrx.
(Reading database ... 171591 files and directories currently installed.)
Unpacking fglrx (from fglrx_13.251-0ubuntu1_i386.deb) ...
Selecting previously unselected package fglrx-amdcccle.
Unpacking fglrx-amdcccle (from fglrx-amdcccle_13.251-0ubuntu1_i386.deb) ...
Selecting previously unselected package fglrx-dev.
Unpacking fglrx-dev (from fglrx-dev_13.251-0ubuntu1_i386.deb) ...
Setting up fglrx (2:13.251-0ubuntu1) ...
update-alternatives: using /usr/lib/fglrx/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
update-alternatives: warning: skip creation of /usr/lib32/libaticalcl.so because associated file /usr/lib32/fglrx/libaticalcl.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: skip creation of /usr/lib32/libaticalrt.so because associated file /usr/lib32/fglrx/libaticalrt.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/fglrx/ld.so.conf because link group i386-linux-gnu_gl_conf is broken
update-alternatives: warning: skip creation of /usr/lib32/libaticalcl.so because associated file /usr/lib32/fglrx/libaticalcl.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: skip creation of /usr/lib32/libaticalrt.so because associated file /usr/lib32/fglrx/libaticalrt.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: using /usr/lib/fglrx/alt_ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-initramfs: deferring update (trigger activated)
Loading new fglrx-13.251 DKMS files...
First Installation: checking all kernels...
Building only for 3.11.0-17-generic
Building for architecture i686
Building initial module for 3.11.0-17-generic
Error! Bad return status for module build on kernel: 3.11.0-17-generic (i686)
Consult /var/lib/dkms/fglrx/13.251/build/make.log for more information.
update-initramfs: deferring update (trigger activated)
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Setting up fglrx-amdcccle (2:13.251-0ubuntu1) ...
Setting up fglrx-dev (2:13.251-0ubuntu1) ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.11.0-17-generic
Processing triggers for libc-bin ...
-------------------------------------

Dans le journal

$ cat /var/lib/dkms/fglrx/13.251/build/make.log
DKMS make.log for fglrx-13.251 for kernel 3.11.0-17-generic (i686)
nie, 2 mar 2014, 15:10:53 CET
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.11.0-17-generic/build SUBDIRS=/var/lib/dkms/fglrx/13.251/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-17-generic'
  CC [M]  /var/lib/dkms/fglrx/13.251/build/2.6.x/firegl_public.o
  CC [M]  /var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.o
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c: In function ‘KCL_ACPI_ParseTable’:
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: warning: passing argument 1 of ‘(acpi_status (*)(u32,  void *, void *))handler’ makes integer from pointer without a cast [enabled by default]
     ((acpi_table_handler)handler)(hdr);
     ^
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: note: expected ‘u32’ but argument is of type ‘struct acpi_table_header *’
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: error: too few arguments to function ‘(acpi_status (*)(u32,  void *, void *))handler’
make[2]: *** [/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/13.251/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-17-generic'
make: *** [kmod_build] Error 2
build failed with return value 2

Où l'erreur est:

    /var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: error: too few arguments to function ‘(acpi_status (*)(u32,  void *, void *))handler’
2
Patryk

Je l'ai! :-)

Sudo gedit /usr/src/fglrx-13.251/kcl_acpi.c

Supprimez ces 3 dernières lignes du fichier:

     ((acpi_table_handler)handler)(hdr);
     return KCL_ACPI_OK;
}

remplacez-les par:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
    ((acpi_tbl_table_handler)handler)(hdr);
#else
    ((acpi_table_handler)handler)(hdr);
#endif
    return KCL_ACPI_OK;
}

Exécutez ensuite:

Sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic

Redémarrez ensuite. A fonctionné pour moi - le noyau 3.11 et fglrx fonctionnent maintenant!

(J'ai travaillé sur cette page: https://Gist.github.com/moldcraft/8116528 )

Comme vous n'avez pas encore installé correctement les pilotes, vous devrez modifier le fichier extrait à catalyst/common/lib/modules/fglrx/build_mod/kcl_acpi.c comme dans l'URL ci-dessus ...

Si vous voulez +1 à mon autre question, n'hésitez pas à ;-)

3
fig

Je pense que j'ai rencontré exactement le même problème mais dans l'autre sens - c'est-à-dire que j'avais déjà installé le pilote 13.12 OK avec le noyau 3.8, mais ensuite mis à niveau vers le noyau 3.11 via la pile 12.04.4 lts. La commande qui échoue est la suivante: Sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic. Mon problème est détaillé ici:

Comment réparer le pilote ATI fglrx après la mise à niveau du noya

(Désolé d'avoir mis cela comme réponse plutôt que comme commentaire, mais le système de "notation" très idiot ne me permet pas d'ajouter des commentaires pour le moment.)

1
fig