grail |
05-28-2017 11:01 PM |
Yep, read through all of that now, but have found a snag :(
So I tried installing the catalyst-hook, however, on executing the scrip I get the following:
Code:
$ sudo catalyst_build_module all
+ building fglrx module for 4.11.3-1-MANJARO kernel ...
Failed!!! Check out log: /var/log/catalyst-install.log
+ building fglrx module for 4.9.30-1-MANJARO kernel ...
ok.
The output from the log for 4.11.3-1-MANJARO is below:
Code:
--------
2017-05-29 11:51:48
Building fglrx module for 4.11.3-1-MANJARO kernel ...
--------
OsVersion says: SMP=1
file /proc/kallsyms says: SMP=1
file /usr/lib/modules/4.11.3-1-MANJARO/build/include/generated/autoconf.h says: SMP=1
file /usr/lib/modules/4.11.3-1-MANJARO/build/include/generated/autoconf.h says: MODVERSIONS=1
file /usr/lib/modules/4.11.3-1-MANJARO/build/arch/x86/include/asm/compat.h says: COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
make: Entering directory '/usr/lib/modules/4.11.3-1-MANJARO/build'
CC [M] /tmp/catalyst.AYfSCz/firegl_public.o
In file included from /tmp/catalyst.AYfSCz/firegl_public.c:207:0:
/tmp/catalyst.AYfSCz/firegl_public.h:654:21: warning: extra tokens at end of #ifndef directive
#ifndef boot_cpu_has(X86_FEATURE_PGE)
^
/tmp/catalyst.AYfSCz/firegl_public.c: In function ‘KCL_GetSignalStatus’:
/tmp/catalyst.AYfSCz/firegl_public.c:1697:12: error: implicit declaration of function ‘signal_pending’ [-Werror=implicit-function-declaration]
return signal_pending(current);
^~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c: At top level:
/tmp/catalyst.AYfSCz/firegl_public.c:4237:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_fault,
^~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4237:14: note: (near initialization for ‘vm_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4248:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_shm_fault,
^~~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4248:14: note: (near initialization for ‘vm_shm_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4259:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_dma_fault,
^~~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4259:14: note: (near initialization for ‘vm_pci_bq_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4270:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_dma_fault,
^~~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4270:14: note: (near initialization for ‘vm_ctx_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4281:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_pcie_fault,
^~~~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4281:14: note: (near initialization for ‘vm_pcie_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4292:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_kmap_fault,
/tmp/catalyst.AYfSCz/firegl_public.c:4292:14: note: (near initialization for ‘vm_kmap_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4303:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_gart_fault,
^~~~~~~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4303:14: note: (near initialization for ‘vm_gart_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:4315:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
fault: ip_vm_fault,
^~~~~~~~~~~
/tmp/catalyst.AYfSCz/firegl_public.c:4315:14: note: (near initialization for ‘vm_agp_bq_ops.fault’)
/tmp/catalyst.AYfSCz/firegl_public.c:6518:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
static int KCL_fpu_save_init(struct task_struct *tsk)
^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:295: /tmp/catalyst.AYfSCz/firegl_public.o] Error 1
make: *** [Makefile:1492: _module_/tmp/catalyst.AYfSCz] Error 2
make: Leaving directory '/usr/lib/modules/4.11.3-1-MANJARO/build'
From what I was able to discover, by looking at the includes, is that 4.11 has moved some of its declarations.
For example:
Code:
/tmp/catalyst.AYfSCz/firegl_public.c: In function ‘KCL_GetSignalStatus’:
/tmp/catalyst.AYfSCz/firegl_public.c:1697:12: error: implicit declaration of function ‘signal_pending’ [-Werror=implicit-function-declaration]
return signal_pending(current);
# 4.9
$ grep -R signal_pending /usr/lib/modules/4.9.30-1-MANJARO/build/include/*
/usr/lib/modules/4.9.30-1-MANJARO/build/include/drm/drm_os_linux.h: if (signal_pending(current)) { \
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/errno.h: * codes, signal_pending() MUST be set. Note that ptrace can observe these
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/wait.h: if (signal_pending(current)) { \
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/kthread.h: * @threadfn: the function to run until signal_pending(current).
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/tracehook.h: return fatal_signal_pending(current);
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h:static inline int signal_pending(struct task_struct *p)
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h:static inline int __fatal_signal_pending(struct task_struct *p)
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h:static inline int fatal_signal_pending(struct task_struct *p)
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h: return signal_pending(p) && __fatal_signal_pending(p);
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h:static inline int signal_pending_state(long state, struct task_struct *p)
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h: if (!signal_pending(p))
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sched.h: return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p);
/usr/lib/modules/4.9.30-1-MANJARO/build/include/linux/sunrpc/types.h:#define signalled() (signal_pending(current))
/usr/lib/modules/4.9.30-1-MANJARO/build/include/net/busy_poll.h: !need_resched() && !signal_pending(current);
# 4.11
$ grep -R signal_pending /usr/lib/modules/4.11.3-1-MANJARO/build/include/*
/usr/lib/modules/4.11.3-1-MANJARO/build/include/drm/drm_os_linux.h: if (signal_pending(current)) { \
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/errno.h: * codes, signal_pending() MUST be set. Note that ptrace can observe these
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h:static inline int signal_pending(struct task_struct *p)
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h:static inline int __fatal_signal_pending(struct task_struct *p)
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h:static inline int fatal_signal_pending(struct task_struct *p)
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h: return signal_pending(p) && __fatal_signal_pending(p);
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h:static inline int signal_pending_state(long state, struct task_struct *p)
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h: if (!signal_pending(p))
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sched/signal.h: return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p);
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/kthread.h: * @threadfn: the function to run until signal_pending(current).
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/tracehook.h: return fatal_signal_pending(current);
/usr/lib/modules/4.11.3-1-MANJARO/build/include/linux/sunrpc/types.h:#define signalled() (signal_pending(current))
/usr/lib/modules/4.11.3-1-MANJARO/build/include/net/busy_poll.h: return sk->sk_ll_usec && sk->sk_napi_id && !signal_pending(current);
Whilst the definitions are the same for both kernels, the file and directory containing them is not, hence 4.9 compiles correctly as it is
included properly, but 4.11 is not and I cannot simply change the include as that then gives me additional errors :(
|