Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

libnipalu.so failed to initialize with october 2018 driver release on a fresh install of CentOS 7.5

Solved!
Go to solution

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.

0 Kudos
Message 1 of 8
(10,460 Views)

Did you reboot after the install?

 

Try "dkms autoinstall" and report the results.

0 Kudos
Message 2 of 8
(10,446 Views)

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)

0 Kudos
Message 3 of 8
(10,444 Views)

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.

 

 

0 Kudos
Message 4 of 8
(10,436 Views)
Solution
Accepted by topic author mat131

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.

0 Kudos
Message 5 of 8
(10,431 Views)

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.

0 Kudos
Message 6 of 8
(10,420 Views)

@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.

Message 7 of 8
(10,398 Views)

@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.

 

 

0 Kudos
Message 8 of 8
(10,391 Views)