Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Make of nikal kernel module failed (RHEL 7, 3.10.0-957.5.1.el7.x86_64)

I am trying to get NI DAQmx Base 15.0 configured on RHEL 7.6. After initially installing NI DAQmx Base and attempting to run some code, I got the error that libnipalu.so failed to initialize.

 

I ran updateNIDrivers as root, and got an error about an unrecognized kernel. I followed the instructions in the NI-VISA readme to fix this, and I installed NI-KAL 17.5.1. I ran updateNIDrivers again, and got the following readout:

 

Configuring NI-KAL for kernel version 3.10.0-957.5.1.el7.x86_64...
Building module nikal...
nikal:   CC [M]  /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.o
nikal: In file included from ./arch/x86/include/asm/processor.h:18:0,
nikal:                  from ./arch/x86/include/asm/cpufeature.h:7,
nikal:                  from ./arch/x86/include/asm/thread_info.h:22,
nikal:                  from include/linux/thread_info.h:66,
nikal:                  from include/linux/preempt.h:9,
nikal:                  from include/linux/spinlock.h:50,
nikal:                  from include/linux/seqlock.h:35,
nikal:                  from include/linux/time.h:5,
nikal:                  from include/linux/stat.h:18,
nikal:                  from include/linux/module.h:10,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:54:
nikal: ./arch/x86/include/asm/pgtable_types.h:136:23: warning: "_PAGE_BIT_SWP_SOFT_DIRTY" is not defined [-Wundef]
nikal:  #if _PAGE_BIT_FILE == _PAGE_BIT_SWP_SOFT_DIRTY
nikal:                        ^
nikal: In file included from ./arch/x86/include/asm/pgtable.h:627:0,
nikal:                  from include/linux/mm.h:63,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: ./arch/x86/include/asm/pgtable_64.h: In function ‘native_ptep_get_and_clear’:
nikal: ./arch/x86/include/asm/pgtable_64.h:86:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
nikal:   pte_t ret = *xp;
nikal:   ^
nikal: ./arch/x86/include/asm/pgtable_64.h: In function ‘native_pmdp_get_and_clear’:
nikal: ./arch/x86/include/asm/pgtable_64.h:100:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
nikal:   pmd_t ret = *xp;
nikal:   ^
nikal: In file included from ./arch/x86/include/asm/pgtable.h:1235:0,
nikal:                  from include/linux/mm.h:63,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: include/asm-generic/pgtable.h: At top level:
nikal: include/asm-generic/pgtable.h:632:19: error: redefinition of ‘pud_trans_huge’
nikal:  static inline int pud_trans_huge(pud_t pud)
nikal:                    ^
nikal: In file included from include/linux/mm.h:63:0,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: ./arch/x86/include/asm/pgtable.h:1106:19: note: previous definition of ‘pud_trans_huge’ was here
nikal:  static inline int pud_trans_huge(pud_t pud)
nikal:                    ^
nikal: In file included from ./arch/x86/include/asm/pgtable.h:1235:0,
nikal:                  from include/linux/mm.h:63,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: include/asm-generic/pgtable.h:659:19: error: redefinition of ‘pud_trans_huge’
nikal:  static inline int pud_trans_huge(pud_t pud)
nikal:                    ^
nikal: include/asm-generic/pgtable.h:632:19: note: previous definition of ‘pud_trans_huge’ was here
nikal:  static inline int pud_trans_huge(pud_t pud)
nikal:                    ^
nikal: In file included from include/linux/mm.h:437:0,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: include/linux/huge_mm.h:369:1: error: expected identifier or ‘(’ before ‘{’ token
nikal:  {
nikal:  ^
nikal: In file included from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:0:
nikal: include/linux/mm.h: In function ‘get_user_pages_longterm’:
nikal: include/linux/mm.h:1499:42: error: dereferencing pointer to incomplete type
nikal:   return __get_user_pages(current, current->mm, start, nr_pages,
nikal:                                           ^
nikal: include/linux/mm.h:1500:5: error: ‘gup_flags’ undeclared (first use in this function)
nikal:      gup_flags, pages, vmas, 0);
nikal:      ^
nikal: include/linux/mm.h:1500:5: note: each undeclared identifier is reported only once for each function it appears in
nikal: In file included from include/linux/uaccess.h:6:0,
nikal:                  from include/linux/highmem.h:8,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:62:
nikal: include/linux/sched.h: At top level:
nikal: include/linux/sched.h:1835:26: error: field ‘statistics’ has incomplete type
nikal:   struct sched_statistics statistics;
nikal:                           ^
nikal: include/linux/sched.h: In function ‘current_set_polling_and_test’:
nikal: include/linux/sched.h:3088:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:51) [-Wdeprecated-declarations]
nikal:   smp_mb__after_clear_bit();
nikal:   ^
nikal: include/linux/sched.h: In function ‘current_clr_polling_and_test’:
nikal: include/linux/sched.h:3106:2: warning: ‘smp_mb__after_clear_bit’ is deprecated (declared at include/linux/bitops.h:51) [-Wdeprecated-declarations]
nikal:   smp_mb__after_clear_bit();
nikal:   ^
nikal: In file included from include/linux/pci.h:32:0,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:65:
nikal: include/linux/interrupt.h: In function ‘tasklet_disable_nosync’:
nikal: include/linux/interrupt.h:620:2: warning: ‘smp_mb__after_atomic_inc’ is deprecated (declared at include/linux/atomic.h:345) [-Wdeprecated-declarations]
nikal:   smp_mb__after_atomic_inc();
nikal:   ^
nikal: include/linux/interrupt.h: In function ‘tasklet_enable’:
nikal: include/linux/interrupt.h:632:2: warning: ‘smp_mb__before_atomic_dec’ is deprecated (declared at include/linux/atomic.h:353) [-Wdeprecated-declarations]
nikal:   smp_mb__before_atomic_dec();
nikal:   ^
nikal: include/linux/interrupt.h: In function ‘tasklet_hi_enable’:
nikal: include/linux/interrupt.h:638:2: warning: ‘smp_mb__before_atomic_dec’ is deprecated (declared at include/linux/atomic.h:353) [-Wdeprecated-declarations]
nikal:   smp_mb__before_atomic_dec();
nikal:   ^
nikal: In file included from include/linux/mm.h:437:0,
nikal:                  from /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c:61:
nikal: /var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.c: At top level:
nikal: include/linux/huge_mm.h:368:19: warning: ‘do_huge_pmd_numa_page’ declared ‘static’ but never defined [-Wunused-function]
nikal:  static inline int do_huge_pmd_numa_page(struct vm_fault *vmf, pmd_t orig_pmd);
nikal:                    ^
nikal: make[2]: *** [/var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal/nikal.o] Error 1
nikal: make[1]: *** [_module_/var/lib/nikal/3.10.0-957.5.1.el7.x86_64/nikal] Error 2
nikal: make: *** [nikal.ko] Error 2
nikal: ERROR:  failed to build nikal
nikal: ERROR:  NI-KAL update failed.
nikal: ERROR:  make of nikal kernel module failed, not installing kernel module.
nikal: ERROR:  updateNIDrivers should be called again after fixing the problem.
nikal: ERROR: Update of National Instruments drivers failed.

This version of NI-KAL is supposed to fix the issue where do_munmap was broken, so I'm not sure what else could be going wrong. NI claims that NI DAQmxBase 15.0 is compatible with RHEL 7, but installation has been a very tedious and time-consuming process.

0 Kudos
Message 1 of 1
(2,871 Views)