Skip to content

installdriver fails on Ubuntu 24.04 #1028

Description

@MicheleBianchi02

Bug Report

The automatic installation of the version 26.5.0 is not working on my Linux machine.
The 2026Q3 driver bundle has no NILinux<release>DeviceDrivers/ subfolder, so apt is given a nonexistent path.

I used the help of AI to solve this issue on my machine, I hope it is all correct.

Repro or Code Sample

  1. Fresh Ubuntu 24.04 system without NI-DAQmx.

  2. pip install nidaqmx (1.6.0), then run:

    sudo python3 -m nidaqmx installdriver
  3. Answer yes at the "Latest NI-DAQmx version available is 26.5.0 (2026Q3). Do you want to install?" prompt.

  4. The installer downloads and unzips the bundle, then fails running apt:

    Running command: apt install /tmp/tmpszw2dmk3/NILinux2026Q3DeviceDrivers/ni-ubuntu2404-drivers-2026Q3.deb
    Reading package lists... Done
    E: Unsupported file /tmp/tmpszw2dmk3/NILinux2026Q3DeviceDrivers/ni-ubuntu2404-drivers-2026Q3.deb given on commandline
    Error: An error occurred while installing the NI-DAQmx driver. Command returned non-zero exit status '100'.
    

    (The preceding apt update step succeeded; the warnings it printed came from
    unrelated third-party repositories on this machine and are not part of the issue.)

Expected Behavior

python -m nidaqmx installdriver installs the distribution metapackage, adds
the NI repository, and proceeds to install ni-daqmx.

Current Behavior

The install always fails with exit status 100 on 2026Q3 bundles: the
metapackage path passed to apt is never valid, so the documented CLI
quick-start path cannot complete on Linux.

The installer downloads

https://download.ni.com/support/softlib/MasterRepository/LinuxDrivers2026Q3/NILinux2026Q3DeviceDrivers.zip

(460,773 bytes, application/zip) and runs zipfile.extractall() into the temp
directory. The 2026Q3 bundle stores its files at the root of the archive, and
there is no NILinux2026Q3DeviceDrivers/ subfolder:

ni-opensuse156-drivers-2026Q3.rpm
ni-opensuse160-drivers-2026Q3.rpm
ni-rhel10-drivers-2026Q3.rpm
ni-rhel9-drivers-2026Q3.rpm
ni-ubuntu2204-drivers-2026Q3.deb
ni-ubuntu2404-drivers-2026Q3.deb
ni-opensuse156-drivers-stream.rpm
ni-opensuse160-drivers-stream.rpm
ni-rhel10-drivers-stream.rpm
ni-rhel9-drivers-stream.rpm
ni-ubuntu2204-drivers-stream.deb
ni-ubuntu2404-drivers-stream.deb

but _linux_installation_commands.py still hard-codes the subfolder:

_APT_INSTALL_COMMANDS = [
    ["apt", "update"],
    [
        "apt",
        "install",
        "{directory}/NILinux{release}DeviceDrivers/ni-ubuntu{version}-drivers-{release}.deb",
    ],
    ["apt", "update"],
    ["apt", "install", "ni-daqmx"],
    ["dkms", "autoinstall"],
]

After extraction the metapackage therefore lives at
{tmpdir}/ni-ubuntu2404-drivers-2026Q3.deb, while apt is pointed at
{tmpdir}/NILinux2026Q3DeviceDrivers/ni-ubuntu2404-drivers-2026Q3.deb — a path
that does not exist. For a slash-containing argument that is not an existing
file, apt reports exactly E: Unsupported file … given on commandline, and the
installer turns the non-zero exit status into the error above.

Possible Solution

Drop the subfolder from the template, or re-publish the zip with the layout the template expects.

Workaround

Bypass the broken path, download and extract the bundle manually, then follow
the installer's intended steps:

curl -sS -o NILinux2026Q3DeviceDrivers.zip \
  https://download.ni.com/support/softlib/MasterRepository/LinuxDrivers2026Q3/NILinux2026Q3DeviceDrivers.zip
unzip NILinux2026Q3DeviceDrivers.zip

sudo apt install ./ni-ubuntu2404-drivers-2026Q3.deb   # NI repository enablement
sudo apt update
sudo apt install ni-daqmx
sudo dkms autoinstall
sudo reboot

The extracted ni-ubuntu2404-drivers-2026Q3.deb is a valid Debian package
(ni-software-2026-noble 26.5.0.49702-0+f550, "National Instruments 2026
Software repository enablement"), verified with dpkg-deb -I.

Context

The installdriver CLI is the quick-start path for installing NI-DAQmx on
Linux, and with the 2026Q3 bundle it fails, so users must
manually download and unpack the bundle to get the driver installed. The
installed driver itself is unaffected once in place.

Your Environment

  • Operating system and version: Ubuntu Linux 24.04 (noble), kernel 6.8.0-139-generic, x86_64
  • NI-DAQmx version: 26.5.0 (2026Q3), the target of the installer
  • nidaqmx-python version: 1.6.0
  • Python version: 3.12.3

AB#4081991

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions