Failed to Build NI-KAL Error on CentOS 7 or Later During 488.2 Installation

Updated May 3, 2023

Reported In

Driver

  • NI-DAQmx Base 15.0
  • NI-488.2 17.0
  • NI-VISA 16.0

Other

  • RHEL 7
  • CentOS 7

Issue Details

I am attempting to install NI-488.2 on a CentOS 7 machine. The makefile for NI-KAL fails with the following error:
 
Making nikal.ko
/var/lib/dkms/nikal/17.6/build/nikal.c: In function ‘nNIAKAL240_do_munmap’:
/var/lib/dkms/nikal/17.6/build/nikal.c:3719:4: error: too few arguments to function ‘do_munmap’
return do_munmap(mm, addr, len);

Why do I get this error, and how do I resolve it?

Solution

Versions of NI-KAL pre-17.5.1 will not build correctly on CentOS 7.4 or later as well as RHEL7 (Red Hat Enterprise Linux) or later due to a function in the Linux kernel changing it's signature. This issue has been fixed in NI-KAL 17.5.1, which can be downloaded here.

Additional Information

A function in the Linux kernel changed its signature, which causes NI-KAL source code using this function to break. This is why NI-KAL pre-17.5.1 will not build correctly on CentOS versions 7.4 and later. The kernel is newer and the function signature does not match that expected by NI-KAL.