Skip to content

NVIDIA/yum-packaging-libnvidia-nscq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yum packaging libnvidia nscq

License Contributing

Overview

Packaging templates for yum, dnf, and zypper based Linux distros to build libnvidia-nscq packages.

NVIDIA NVSwitch Configuration and Query (NSCQ) library provides a stable driver API used by DCGM for monitoring NVSwitch devices.

note: the version of libnvidia-nscq must match the NVIDIA driver installed.

Table of Contents

Deliverables

This repo contains the .spec file used to build the following RPM packages:

note: XXX is the first . delimited field in the driver version, ex: 525 in 525.85.12

- libnvidia-nscq-XXX
> ex: libnvidia-nscq-525-525.85.12-1.x86_64.rpm

Installation

  • RHEL8, RHEL9, or Fedora streams: XXX, XXX-dkms, latest, and latest-dkms

    The NvSwitch modularity profile (fm) installs all of the NVIDIA driver packages, as well as Fabric Manager and NCSQ

    dnf module install nvidia-driver:${stream}/fm
  • RHEL7

    yum install libnvidia-nscq-XXX
  • openSUSE15 or SLES15

    zypper install libnvidia-nscq-XXX

Prerequisites

Clone this git repository:

Supported branches as described in the NVIDIA Datacenter Drivers documentation.

git clone https://github.com/NVIDIA/yum-packaging-libnvidia-nscq

Download a NSCQ tarball:

Install build dependencies

note: these are only needed for building not installation

# objdump
yum install binutils
# Packaging
yum install rpm-build

Building Manually

Download tarball via redistrib JSON

baseURL="https://developer.download.nvidia.com/compute/nvidia-driver/redist"
downloadURL=$(curl -s $baseURL/redistrib_525.85.12.json | \
jq -r '."libnvidia_nscq" | ."linux-x86_64" | ."relative_path"' | \
sed "s|^|$baseURL/|")
curl -O $downloadURL

Prepare build directory

cd yum-packaging-libnvidia-nscq
mkdir SPECS SOURCES
cp *.spec SPECS/
cp ../libnvidia_nscq*.tar.xz SOURCES/

Check API version

tar -tvf SOURCES/libnvidia_nscq*.tar.xz | \
    grep ^l | awk '{print $(NF-2)}' | grep ".so." | \
    sort -uVr | awk -F ".so." '{print $2}' | awk NR==1
> 2.0

Check SONAME

tar -C SOURCES/ -xf SOURCES/libnvidia_nscq*.tar.xz
objdump -p /dev/stdin < $(find SOURCES -type f -name "libnvidia-nscq.so.*") | \
grep SONAME | awk -F ".so." '{print $2}'
> 2

Generate .rpm packages

rpmbuild \
    --define "%_topdir $(pwd)" \
    --define "%version 525.85.12" \
    --define "%branch 525" \
    --define "%so_api 2.0" \
    --define "%SONAME 2" \
    --define "%_arch x86_64" \
    --define "%_build_arch x86_64" \
    --define "%_repo_arch x86_64" \
    --target=x86_64 \
    -v -ba SPECS/*.spec

cd RPMS/x86_64
ls *.rpm

note: branch is the first . delimited field in the driver version, ex: 525 in 525.85.12 note: for arm64/aarch64 set _build_arch to aarch64 and _repo_arch to sbsa

Related

Fabric Manager

NVIDIA driver

See also

Debian

Contributing

See CONTRIBUTING.md