AnsweredAssumed Answered

Error fglrx-15.302 on 4.9.6-gentoo-r1

Question asked by jgarcia900506 on Feb 26, 2017
Latest reply on Feb 27, 2017 by jpsollie

Help me please!

 

Hello, I have a gentoo with source 4.9.6-gentoo-r1, when I run amd-driver-installer-15.302-x86.x86_64.run, but the installer finish at next error:

 

 

Supported adapter detected.

Check if system has the tools required for installation.

Uninstalling any previously installed drivers.

[Message] Kernel Module : Trying to install a precompiled kernel module.

[Message] Kernel Module : Precompiled kernel module version mismatched.

[Message] Kernel Module : Found kernel module build environment, generating kernel module now.

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/4.9.6-gentoo-r1/build SUBDIRS=/lib64/modules/fglrx/build_mod/2.6.x modules

make[1]: se entra en el directorio '/usr/src/linux-4.9.6-gentoo-r1'

  CC [M]  /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.o

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘firegl_major_proc_read’:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:634:9: error: no se descarta el valor void como debería de ser

     len = seq_printf(m, "%d\n", major);

         ^

In file included from ./arch/x86/include/asm/processor.h:15:0,

                 from ./arch/x86/include/asm/cpufeature.h:4,

                 from ./arch/x86/include/asm/thread_info.h:52,

                 from ./include/linux/thread_info.h:58,

                 from ./arch/x86/include/asm/preempt.h:6,

                 from ./include/linux/preempt.h:59,

                 from ./include/linux/spinlock.h:50,

                 from ./include/linux/seqlock.h:35,

                 from ./include/linux/time.h:5,

                 from ./include/linux/stat.h:18,

                 from ./include/linux/module.h:10,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘KCL_LockUserPages’:

./arch/x86/include/asm/current.h:17:17: aviso: el paso del argumento 1 de ‘get_user_pages’ crea un entero desde un puntero sin una conversión

#define current get_current()

                 ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:26: nota: in expansion of macro ‘current’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);

                          ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘long unsigned int’ pero el argumento es de tipo ‘struct task_struct *’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

In file included from ./arch/x86/include/asm/processor.h:15:0,

                 from ./arch/x86/include/asm/cpufeature.h:4,

                 from ./arch/x86/include/asm/thread_info.h:52,

                 from ./include/linux/thread_info.h:58,

                 from ./arch/x86/include/asm/preempt.h:6,

                 from ./include/linux/preempt.h:59,

                 from ./include/linux/spinlock.h:50,

                 from ./include/linux/seqlock.h:35,

                 from ./include/linux/time.h:5,

                 from ./include/linux/stat.h:18,

                 from ./include/linux/module.h:10,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:

./arch/x86/include/asm/current.h:17:17: aviso: el paso del argumento 2 de ‘get_user_pages’ crea un entero desde un puntero sin una conversión

#define current get_current()

                 ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:35: nota: in expansion of macro ‘current’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);

                                   ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘long unsigned int’ pero el argumento es de tipo ‘struct mm_struct *’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:55: aviso: el paso del argumento 4 de ‘get_user_pages’ crea un puntero desde un entero sin una conversión

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);

                                                       ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘struct page **’ pero el argumento es de tipo ‘unsigned int’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:65: aviso: el paso del argumento 5 de ‘get_user_pages’ crea un puntero desde un entero sin una conversión

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);

                                                                 ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘struct vm_area_struct **’ pero el argumento es de tipo ‘int’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:11: error: demasiados argumentos para la función ‘get_user_pages’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);

           ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se declara aquí

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

In file included from ./arch/x86/include/asm/processor.h:15:0,

                 from ./arch/x86/include/asm/cpufeature.h:4,

                 from ./arch/x86/include/asm/thread_info.h:52,

                 from ./include/linux/thread_info.h:58,

                 from ./arch/x86/include/asm/preempt.h:6,

                 from ./include/linux/preempt.h:59,

                 from ./include/linux/spinlock.h:50,

                 from ./include/linux/seqlock.h:35,

                 from ./include/linux/time.h:5,

                 from ./include/linux/stat.h:18,

                 from ./include/linux/module.h:10,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘KCL_LockReadOnlyUserPages’:

./arch/x86/include/asm/current.h:17:17: aviso: el paso del argumento 1 de ‘get_user_pages’ crea un entero desde un puntero sin una conversión

#define current get_current()

                 ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:26: nota: in expansion of macro ‘current’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);

                          ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘long unsigned int’ pero el argumento es de tipo ‘struct task_struct *’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

In file included from ./arch/x86/include/asm/processor.h:15:0,

                 from ./arch/x86/include/asm/cpufeature.h:4,

                 from ./arch/x86/include/asm/thread_info.h:52,

                 from ./include/linux/thread_info.h:58,

                 from ./arch/x86/include/asm/preempt.h:6,

                 from ./include/linux/preempt.h:59,

                 from ./include/linux/spinlock.h:50,

                 from ./include/linux/seqlock.h:35,

                 from ./include/linux/time.h:5,

                 from ./include/linux/stat.h:18,

                 from ./include/linux/module.h:10,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:

./arch/x86/include/asm/current.h:17:17: aviso: el paso del argumento 2 de ‘get_user_pages’ crea un entero desde un puntero sin una conversión

#define current get_current()

                 ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:35: nota: in expansion of macro ‘current’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);

                                   ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘long unsigned int’ pero el argumento es de tipo ‘struct mm_struct *’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:55: aviso: el paso del argumento 4 de ‘get_user_pages’ crea un puntero desde un entero sin una conversión

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);

                                                       ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se esperaba ‘struct page **’ pero el argumento es de tipo ‘unsigned int’

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:11: error: demasiados argumentos para la función ‘get_user_pages’

     ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);

           ^

In file included from ./include/linux/scatterlist.h:7:0,

                 from ./include/linux/dmapool.h:14,

                 from ./include/linux/pci.h:1269,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:

./include/linux/mm.h:1280:6: nota: se declara aquí

long get_user_pages(unsigned long start, unsigned long nr_pages,

      ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘KCL_UnlockUserPages’:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:3252:9: error: declaración implícita de la función ‘page_cache_release’ [-Werror=implicit-function-declaration]

         page_cache_release((struct page*)page_list[i]);

         ^

In file included from ./include/linux/bitops.h:36:0,

                 from ./include/linux/kernel.h:10,

                 from ./include/linux/list.h:8,

                 from ./include/linux/module.h:9,

                 from /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘kcl_mem_pat_setup’:

./arch/x86/include/asm/bitops.h:337:29: aviso: se pasa el argumento 2 de ‘constant_test_bit’ desde un tipo de puntero incompatible

   ? constant_test_bit((nr), (addr)) \

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4521:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:308:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:338:29: aviso: se pasa el argumento 2 de ‘variable_test_bit’ desde un tipo de puntero incompatible

   : variable_test_bit((nr), (addr)))

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4521:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:314:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool variable_test_bit(long nr, volatile const unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:337:29: aviso: se pasa el argumento 2 de ‘constant_test_bit’ desde un tipo de puntero incompatible

   ? constant_test_bit((nr), (addr)) \

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4535:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:308:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:338:29: aviso: se pasa el argumento 2 de ‘variable_test_bit’ desde un tipo de puntero incompatible

   : variable_test_bit((nr), (addr)))

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4535:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:314:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool variable_test_bit(long nr, volatile const unsigned long *addr)

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘kcl_mem_pat_restore’:

./arch/x86/include/asm/bitops.h:337:29: aviso: se pasa el argumento 2 de ‘constant_test_bit’ desde un tipo de puntero incompatible

   ? constant_test_bit((nr), (addr)) \

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4562:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:308:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:338:29: aviso: se pasa el argumento 2 de ‘variable_test_bit’ desde un tipo de puntero incompatible

   : variable_test_bit((nr), (addr)))

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4562:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:314:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool variable_test_bit(long nr, volatile const unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:337:29: aviso: se pasa el argumento 2 de ‘constant_test_bit’ desde un tipo de puntero incompatible

   ? constant_test_bit((nr), (addr)) \

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4575:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:308:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool constant_test_bit(long nr, const volatile unsigned long *addr)

                             ^

./arch/x86/include/asm/bitops.h:338:29: aviso: se pasa el argumento 2 de ‘variable_test_bit’ desde un tipo de puntero incompatible

   : variable_test_bit((nr), (addr)))

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: nota: in expansion of macro ‘test_bit’

#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)

                     ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:4575:9: nota: in expansion of macro ‘cpu_has_pge’

     if (cpu_has_pge)

         ^

./arch/x86/include/asm/bitops.h:314:29: nota: se esperaba ‘const volatile long unsigned int *’ pero el argumento es de tipo ‘__u32 (*)[19]’

static __always_inline bool variable_test_bit(long nr, volatile const unsigned long *addr)

                             ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En la función ‘KCL_fpu_save_init’:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:6458:49: error: ‘XSTATE_FP’ no se declaró aquí (primer uso en esta función)

       if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))

                                                 ^

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:6458:49: nota: cada identificador sin declarar se reporta sólo una vez para cada función en el que aparece

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c: En el nivel principal:

/lib64/modules/fglrx/build_mod/2.6.x/firegl_public.c:6448:12: aviso: se define ‘KCL_fpu_save_init’ pero no se usa [-Wunused-function]

static int KCL_fpu_save_init(struct task_struct *tsk)

            ^

cc1: algunos avisos se tratan como errores

make[2]: *** [scripts/Makefile.build:294: /lib64/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1

make[1]: *** [Makefile:1490: _module_/lib64/modules/fglrx/build_mod/2.6.x] Error 2

make[1]: se sale del directorio '/usr/src/linux-4.9.6-gentoo-r1'

make: *** [Makefile:88: kmod_build] Error 2

build failed with return value 2

[Error] Kernel Module : Failed to compile kernel module - please consult readme.

 

someone know where get any patch to solve error!

Outcomes