Could not find dkms.conf file error

I’ve installed the Linux version of LabVIEW 2021, but I get an error when after installing the drivers.

Here are the instructions I’m following: https://www.ni.com/en-us/support/documentation/supplemental/18/downloading-and-installing-ni-driver-software-on-linux-desktop.html.

When I get to the 4th step,

sudo dkms autoinstall

I get the error:

Error! Could not locate dkms.conf file.
File:  does not exist.

Anyone know what this means, or how to troubleshoot it? I’m new to Linux, and the solutions I’ve found online aren’t making any sense to me.

It means exactly what it says - it cannot find dkms.conf file.

how to troubleshoot it?

Start with showing full command invocation and its output, not two random lines out of context. Adding --verbose flag to dkms command may give some more hints.

@chrisw:

Does the LabVIEW 2021 RPM package need to modify the Linux Kernel?

  • If you search the National Instruments RPM packages installed (rpm --query --list package-name
    ), are there any DKMS files anywhere? - I haven’t been able to decipher which driver packages, if any, are needed for LabVIEW – <https://www.ni.com/pdf/manuals/378353e.html>.
    *=2]It’s possible that, the DKMS configuration and associated Linux Kernel modification is included in one of the drivers needed – if any …

This is all I’m getting:

sudo dkms --verbose autoinstall 
Error! Could not locate dkms.conf file. 
File:  does not exist.

I can’t even check the status:

sudo dkms status 
[sudo] password for root:  
Error! Could not locate dkms.conf file. 
File:  does not exist.

Here’s what my /var/lib/dkms folder looks like:


Other than the evdi folder, each one of those has a dkms.conf file contained in them. What could be preventing these commands from working?

I’m not seeing any dkms packages in the rpm file.

/etc/pki/rpm-gpg/RPM-GPG-KEY-natinst-ni-software-2021 
/etc/zypp/repos.d/ni-software-2021.repo 
/etc/zypp/vendors.d/ni.conf 
/usr/share/doc/ni-software-2021/IVI Foundation Inc License Agreement - English.txt 
/usr/share/doc/ni-software-2021/NI Released License Agreement - English.txt

So, are you saying that command isn’t necessary?

The driver package I need is the ni-visa, if that helps.

https://www.ni.com/pdf/manuals/378691a.html

After the driver package(s) are installed, you must rebuild the new packages for the system kernel. NI recommends that you run the command ‘dkms autoinstall’ after installation, and before rebooting the system, to install the latest revision of all modules that have been installed for other kernel revisions. After doing so, the installed device drivers will function immediately on the next system start.

You have some directory under DKMS source tree (/var/lib/dkms) that does not provide dkms.conf as it should. Check content of these directories whether they look like DKMS module.

Here’s what my /var/lib/dkms folder looks like:

If you provided text listing (instead of huge picture) it would be possible to comment on this list.

Other than the evdi folder, each one of those has a dkms.conf file contained in them. What could be preventing these commands from working?

Lack of dkms.conf file in one directory. “dkms autoinstall” will process all installed modules. Now evdi is probably the very first in the list which makes dkms fail right away, when the very first module is processed. But I cannot include picture in reply to demonstrate it.

If you know that you do not need evdi just remove it. Otherwise report it to maintainer/author of your software.

@chrisw:

Do you have the DKMS package installed?

  • Please be aware that, this package requires the following list of packages, which, if not already installed, will be installed with the DKMS package –

[INDENT=2]fipscheck
kernel-preempt-devel
kernel-syms
libfipscheck1
mozilla-nss-tools
pesign
pesign-obs-integration[/INDENT]
Please be aware that, DKMS seems to need the PREEMPT Kernel – “kernel-preempt” – here the Leap 15.3 information –


 > zypper info kernel-preempt
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...


Informationen zu Paket kernel-preempt:
--------------------------------------
Repository         : Update repository with updates from SUSE Linux Enterprise 15
Name               : kernel-preempt
Version            : 5.3.18-59.34.1
Arch               : x86_64
Anbieter           : SUSE LLC <https://www.suse.com/>
Installierte Größe : 148,8 MiB
Installiert        : Nein
Status             : nicht installiert
Quellpaket         : kernel-preempt-5.3.18-59.34.1.nosrc
Zusammenfassung    : Kernel with PREEMPT support
Beschreibung       : 
    The kernel for arm64 and x86_64 architectures that supports CONFIG_PREEMPT. Its
    main purpose is to serve workloads with a higher demand on smaller latencies
    than the default kernel in average.


    Source Timestamp: 2021-11-11 12:18:45 +0000
    GIT Revision: a2a53aaa75b5107c0de51f54a4f748b5ca5511c4
    GIT Branch: SLE15-SP3

 > 

The Leap 15.2 DKMS package contains the following file – ‘/usr/lib/tmpfiles.d/dkms.conf’ – with content as follows:


# See tmpfiles.d(5) for details
d /var/tmp/dkms 0700 root root -

[HR][/HR]One issue we have is that, my first contact with UNIX® was a DEC internal schooling around 1985 – before Linux and Red Hat RPM …

  • Please do not hesitate to ask about any unclear points related to the above information.

dkms does not need preempt kernel.

I moved the folder elsewhere, and ran “dkms autoinstall”, and everything seemed to work. Problem is, I have no idea what this evdi folder is there for, and I don’t want to screw something up by just deleting it outright. Is there anyway to trace it back to where it came from?

Otherwise report it to maintainer/author of your software.

What does this mean?

You should know if you installed it, no? /var/lib/dkms is build directory, sources must be in /usr/src and /var/lib/dkms/$module/$version/source is link to /usr/src/$module-$version. That is how dkms sets it up.

What does this mean?

This means that you should report it to whoever you got evdi from (package/tarball/whatever that resulted in directory /var/lib/dkms/evdi with wrong content).

Do you have /usr/src/evdi*? Are /usr/src/evdi* and/or /var/lib/dkms/evdi owned by any package (rpm -qf /path/to/file-or-dir)?