Package: fglrx-legacy-modules-dkms
Version: 8.97.100.7-4
Severity: important

uname -a
Linux space 3.14-2-686-pae #1 SMP Debian 3.14.13-2 (2014-07-24) i686
GNU/Linux

Dear Maintainer,

The module unfortunately doesn't compile on Linux-3.14.
This problem may be extensible to some lower Linux versions

I've attached a patch that fixes the build errors and now I can finally
run fglrx-legacy.

Patch based on commits created by Krzysztof Kolasa
from https://github.com/kolasa/fglrx-13.25

Regards, Eli
diff -uprN fglrx-8.97.100.7/firegl_public.h fglrx-8.97.100.7-b/firegl_public.h
--- fglrx-8.97.100.7/firegl_public.h	2013-01-15 22:33:27.000000000 +0100
+++ fglrx-8.97.100.7-b/firegl_public.h	2014-08-13 09:27:55.000000000 +0200
@@ -231,8 +231,11 @@ typedef struct {
  */
 typedef int             KCL_TYPE_Pid;       /** Process identifier */
 typedef int             KCL_TYPE_Tgid;      /** Thread Group identifier */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
 typedef int             KCL_TYPE_Uid;       /** User identifier */
-
+#else
+typedef kuid_t KCL_TYPE_Uid; /** User identifier */
+#endif
 /** Atomic variables
  * This type is defined using struct to make sure compiled code will
  * always refer to the memory containing the atomic variable (prevent
diff -uprN fglrx-8.97.100.7/kcl_acpi.c fglrx-8.97.100.7-b/kcl_acpi.c
--- fglrx-8.97.100.7/kcl_acpi.c	2013-07-23 17:14:36.000000000 +0200
+++ fglrx-8.97.100.7-b/kcl_acpi.c	2014-08-13 09:27:55.000000000 +0200
@@ -776,7 +776,11 @@ unsigned int ATI_API_CALL KCL_ACPI_GetHa
 {
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
     #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
-        pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle;
+		#if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)
+			pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle;
+		#else
+			pInfo->video_handle = pInfo->pcidev->dev.acpi_node.companion;
+		#endif
     #elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19)
         pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle;
     #else 
---------------------------------------
Selecting previously unselected package fglrx-legacy-modules-dkms.
(Leyendo la base de datos ... 182500 ficheros o directorios instalados actualmente.)
Desempaquetando fglrx-legacy-modules-dkms (de .../fglrx-legacy-modules-dkms_8.97.100.7-4_i386.deb) ...
Configurando fglrx-legacy-modules-dkms (8.97.100.7-4) ...
Loading new fglrx-8.97.100.7 DKMS files...
First Installation: checking all kernels...
Building only for 3.14-2-686-pae
Building initial module for 3.14-2-686-pae
Error! Bad return status for module build on kernel: 3.14-2-686-pae (i686)
Consult /var/lib/dkms/fglrx/8.97.100.7/build/make.log for more information.
Presione Enter para continuar.


---------------------------------------
dkms build  -m fglrx/8.97.100.7

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.14-2-686-pae -C /lib/modules/3.14-2-686-pae/build M=/var/lib/dkms/fglrx/8.97.100.7/build......
cleaning build area....

DKMS: build completed.
---------------------------------------
DKMS make.log for fglrx-8.97.100.7 for kernel 3.14-2-686-pae (i686)
mié ago 13 08:41:03 CEST 2014
make: se ingresa al directorio `/usr/src/linux-headers-3.14-2-686-pae'
  LD      /var/lib/dkms/fglrx/8.97.100.7/build/built-in.o
  CC [M]  /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.o
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c: In function ‘firegl_debug_proc_read_wrap’:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:532:5: warning: passing argument 2 of ‘firegl_debug_proc_read’ makes pointer from integer without a cast [enabled by default]
     return firegl_debug_proc_read(m->buf, m->from, m->index, m->size, m->size - m->count, data);
     ^
In file included from /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:194:0:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.h:373:25: note: expected ‘char **’ but argument is of type ‘size_t’
 extern int ATI_API_CALL firegl_debug_proc_read(char* buf, char** start, kcl_off_t offset, int len, int* eof, void* data);
                         ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:532:5: warning: passing argument 5 of ‘firegl_debug_proc_read’ makes pointer from integer without a cast [enabled by default]
     return firegl_debug_proc_read(m->buf, m->from, m->index, m->size, m->size - m->count, data);
     ^
In file included from /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:194:0:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.h:373:25: note: expected ‘int *’ but argument is of type ‘size_t’
 extern int ATI_API_CALL firegl_debug_proc_read(char* buf, char** start, kcl_off_t offset, int len, int* eof, void* data);
                         ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c: At top level:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:617:3: warning: initialization from incompatible pointer type [enabled by default]
   .write = firegl_debug_proc_write_wrap,
   ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:617:3: warning: (near initialization for ‘firegl_debug_fops.write’) [enabled by default]
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c: In function ‘KCL_GetEffectiveUid’:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:1633:5: error: incompatible types when returning type ‘kuid_t’ but ‘KCL_TYPE_Uid’ was expected
     return current_euid();
     ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:1637:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[3]: *** [/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.o] Error 1
make[2]: *** [_module_/var/lib/dkms/fglrx/8.97.100.7/build] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: se sale del directorio `/usr/src/linux-headers-3.14-2-686-pae'
DKMS make.log for fglrx-8.97.100.7 for kernel 3.14-2-686-pae (i686)
mié ago 13 09:42:56 CEST 2014
make: se ingresa al directorio `/usr/src/linux-headers-3.14-2-686-pae'
  LD      /var/lib/dkms/fglrx/8.97.100.7/build/built-in.o
  CC [M]  /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.o
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c: In function ‘firegl_debug_proc_read_wrap’:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:532:5: warning: passing argument 2 of ‘firegl_debug_proc_read’ makes pointer from integer without a cast [enabled by default]
     return firegl_debug_proc_read(m->buf, m->from, m->index, m->size, m->size - m->count, data);
     ^
In file included from /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:194:0:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.h:376:25: note: expected ‘char **’ but argument is of type ‘size_t’
 extern int ATI_API_CALL firegl_debug_proc_read(char* buf, char** start, kcl_off_t offset, int len, int* eof, void* data);
                         ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:532:5: warning: passing argument 5 of ‘firegl_debug_proc_read’ makes pointer from integer without a cast [enabled by default]
     return firegl_debug_proc_read(m->buf, m->from, m->index, m->size, m->size - m->count, data);
     ^
In file included from /var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:194:0:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.h:376:25: note: expected ‘int *’ but argument is of type ‘size_t’
 extern int ATI_API_CALL firegl_debug_proc_read(char* buf, char** start, kcl_off_t offset, int len, int* eof, void* data);
                         ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c: At top level:
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:617:3: warning: initialization from incompatible pointer type [enabled by default]
   .write = firegl_debug_proc_write_wrap,
   ^
/var/lib/dkms/fglrx/8.97.100.7/build/firegl_public.c:617:3: warning: (near initialization for ‘firegl_debug_fops.write’) [enabled by default]
  CC [M]  /var/lib/dkms/fglrx/8.97.100.7/build/kcl_acpi.o
/var/lib/dkms/fglrx/8.97.100.7/build/kcl_acpi.c: In function ‘KCL_ACPI_GetHandles’:
/var/lib/dkms/fglrx/8.97.100.7/build/kcl_acpi.c:779:59: error: ‘struct acpi_dev_node’ has no member named ‘handle’
         pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle;
                                                           ^
make[3]: *** [/var/lib/dkms/fglrx/8.97.100.7/build/kcl_acpi.o] Error 1
make[2]: *** [_module_/var/lib/dkms/fglrx/8.97.100.7/build] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: se sale del directorio `/usr/src/linux-headers-3.14-2-686-pae'

Reply via email to