From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Error compiling NI-KAL 17.0 with 4.14 kernel

My problem is similar to the one described here: https://forums.ni.com/t5/Linux-Users/Errors-compiling-NI-KAL-2-5-with-3-19-0-25-kernel/gpm-p/3420171

 

When executing "updateNIDrivers", I get the error:

 

error: initialization from incompatible pointer type

 

...plus many additional c++ errors

 

The only difference between the previous post and now is that I am trying to install the NI-KAL 17.0 driver on a newer kernel (4.14) on a Redhat-based distribution (Fedora)

The initial installation worked without a problem, it is only an issue when doing "updateNIDrivers"

 

Is the only solution to downgrade to a less recent kernel?

 

Thanks

 

 

0 Kudos
Message 1 of 5
(3,153 Views)

We're seeing the same problem. It appears that the kernel's Generic Netlink communications interface has changed from the 3 series to the 4 series.

 

At minimum the GENL_ID_GENERATE define and genl_register_family_with_ops() function are missing from the 4.14 series kernel we're using

 

In the stock centos 3.10 kernel there exist the following that prevent the errors when building on 4.14

 

/usr/src/kernels/3.10.0-514.26.2.el7.x86_64/include/uapi/linux/genetlink.h:#define GENL_ID_GENERATE 0

/usr/src/kernels/3.10.0-514.26.2.el7.x86_64/include/net/genetlink.h:#define genl_register_family_with_ops_groups(family, ops, grps)

Perhaps someone from NI could reply and let us know if they plan to tweak their code to support the new netlink interface.

0 Kudos
Message 2 of 5
(3,096 Views)

Which overall driver are you trying to work with, and what version of that driver are you installing? 

NI-KAL is installed with many of our drivers, included NI VISA. 

0 Kudos
Message 3 of 5
(3,079 Views)

Which overall driver are you trying to work with, and what version of that driver are you installing? 

NI-KAL is installed with many of our drivers, including NI VISA and DAQmx. Are you on the most recent version of VISA/DAQmx/etc? 

0 Kudos
Message 4 of 5
(3,075 Views)

@pkorsnick

At minimum the GENL_ID_GENERATE define and genl_register_family_with_ops() function are missing from the 4.14 series kernel we're using

 


 

Yes, that had been removed long ago.

 

Note that kernel *internal* APIs are always changing. OOT modules always need a lot of maintenance works (this is just intended as temporary workaround until landing in mainline).

 

Can't be repeated often enough: proprietary drivers are just a *REALLY* bad idea.

 

Linux Embedded / Kernel Hacker / BSP / Driver development / Systems engineering
0 Kudos
Message 5 of 5
(3,036 Views)