10-22-2018 05:27 PM
Hello,
On a fresh install of CentOS 7.5, I followed directives of http://www.ni.com/product-documentation/54754/en/. I downloaded the rpm here
Then I tried the following commands:
su # typed my root password yum install ni-daqmx
Then yum downloaded several packages.
I tried to start:
[root@host usename] nidaqmxconfig libnipalu.so failed to initialize Verify that nipalk.ko is built and loaded. Aborted (core dumped)
I tried to install
ni-visa
but without any more luck.
For information:
cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)
What can I do to make the driver work?
Regards,
Matthieu.
Solved! Go to Solution.
10-23-2018 08:33 AM
Did you reboot after the install?
Try "dkms autoinstall" and report the results.
10-23-2018 08:45 AM
Also, ensure that the version and release of the installed kernel matches that of the kernel-devel package. (e.g., if you have kernel 3.10.0 release 862.el7 but your kernel-devel package is 3.10.0 release 862.14.4.el7, you'll need to update your kernel to match the kernel-devel package)
10-23-2018 10:07 AM
Here are the command results requested
[root@hostname username]# dkms autoinstall Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source. Error! echo Your kernel headers for kernel 3.10.0-862.el7.x86_64 cannot be found at /lib/modules/3.10.0-862.el7.x86_64/build or /lib/modules/3.10.0-862.el7.x86_64/source.
10-23-2018 10:25 AM
Yes, the installed kernel version doesn't match the version of the kernel headers. "yum update" should update your system and bring the versions in sync, and then you should be able to successfully run "dkms autoinstall" to build your drivers.
10-23-2018 11:06 AM
Thank you very much GabeJ, the
yum update
(which downloaded several hundreds of MBytes) followed by a computer restart solved the problem.
I want to be sure to understand correctly the issue. When installing the ni-daqmx package from the NI RPM repository, one of its dependencies, the kernel headers (from the kernel-devel package I assume), gets pulled in. Unfortunately, those headers versions are not checked against the current installed kernel version. But more importantly, it seems like a given ni-daqmx package version has a pretty strong dependency on a specific kernel version. Why is this kernel version not in the ni-daqmx dependency list then? Am I missing something or is it a correct understanding of the situation?
In any case I would suggest to make the installation instructions much clearer on that topic to avoid that trap. As it is, the user experience if very far from optimal.
10-24-2018 03:52 PM
@mat131I want to be sure to understand correctly the issue. When installing the ni-daqmx package from the NI RPM repository, one of its dependencies, the kernel headers (from the kernel-devel package I assume), gets pulled in. Unfortunately, those headers versions are not checked against the current installed kernel version. But more importantly, it seems like a given ni-daqmx package version has a pretty strong dependency on a specific kernel version. Why is this kernel version not in the ni-daqmx dependency list then? Am I missing something or is it a correct understanding of the situation?
Close. The software stack doesn't need any particular kernel version, so forcing yum to update the kernel during the installation process wouldn't be feasible. Further, upgrading the user's kernel when installing a software package would probably be undesirable from a principle of least surprise standpoint.
The software does have a dependency on kernel-devel, and that package needs to match the version of whatever kernel is running. RPM doesn't really give a way to express that, though, and yum will simply fetch the latest version of kernel-devel. In this case, the CentOS maintainers have newer kernel and kernel-devel packages available than those that originally shipped with the distribution. Your system had the older kernel, and installing the NI stack retrieved the later, mismatched kernel-devel.
Instead of the "yum update" you could have also just downgraded the version of kernel-devel, but sometimes the older versions of those packages are no longer available.
In any case I would suggest to make the installation instructions much clearer on that topic to avoid that trap.
I agree that having this documented somewhere would be a good idea.. It seems like this would be a common problem.
10-25-2018 02:13 PM
@GabeJ, thank you a lot for your detailed and convincing explanation. I feel more confident now on how to make sure I don't end up with a broken install.