Header location of NvArgus.h, etc

Hi all -

I am trying to build an application that uses the libargus API for interfacing with a CSI camera. I can’t seem to find the include directory on the Xavier NX - I’ve built and installed the multimedia API (i.e. I can run gst-launch-1.0 nvarguscamerasrc for example and see the connected CSI cam)

Jetpack 4.4
L4T 32.4.3

Where is the include directory for my custom app? The docs all say to find it in /usr/src/ but it is not there.

Thanks!

The Argus headers should be found under /usr/src/jetson_multimedia_api/include/Argus/

Did you flash your Xavier NX from the SD card image, or with SDK Manager? If you flashed with SDK Manager, perhaps the Multimedia API was not in fact installed. The Multimedia API would have been installed under /usr/src/jetson_multimedia_api. You could run SDK Manager again and choose just to install that component again (skip re-flashing the device / OS).

The NVIDIA GStreamer elements are installed separately from the Multimedia API, so you could in theory have those but still not have the Multimedia API installed.

Aha! Good to know. I used the SDK manager to download all the relevant packages but am using sudo ./flash.sh to actually move files to the Xavier since I have a custom carrier board, so I think that might be what is happening: I’m not actually installing the multimedia API correctly.

Can I use sdkmanager --additionalsdk from the CLI to install a single set of headers? Or is it safer to manually copy over the nvidia-l4t-jetson-multimedia-api_32.4.3-20200625213407_arm64.deb file onto my carrier board to install? I assume the latter?

I’m not super familiar myself with the Command Line mode of sdkmanager, so I’m not sure about that. However you can pick/choose things from the GUI (remember to de-select flashing the L4T OS, because that would overwrite what you have already flashed)

My guess is that you also don’t have CUDA Toolkit/cuDNN/TensorRT/ect installed either, so you may want to consider if you want/need these. You could have SDK Manager install them for you too.

It is technically possible to copy the deb over and install it manually, however it may be dependent on other NVIDIA deb’s that SDK Manager has downloaded as well:

$ dpkg-query -s nvidia-l4t-jetson-multimedia-api
Package: nvidia-l4t-jetson-multimedia-api
Status: install ok installed
Priority: standard
Section: Utils
Installed-Size: 86282
Maintainer: NVIDIA Corporation
Architecture: arm64
Version: 32.4.3-20200625213407
Depends: cuda-cudart-10-2, cuda-cudart-dev-10-2, libc6-dev, libglvnd-dev, libx11-dev, nvidia-l4t-camera (= 32.4.3-20200625213407), nvidia-l4t-multimedia (= 32.4.3-20200625213407), nvidia-l4t-multimedia-utils (= 32.4.3-20200625213407), tensorrt
Pre-Depends: nvidia-l4t-core (>> 32.4-0), nvidia-l4t-core (<< 32.5-0)
Description: NVIDIA Jetson Multimedia API is a collection of lower-level APIs that support flexible application development.

I’ll try following that chain and see if that fixes it for me! I’ll report back =)

Thank you for the quick suggestion and response!

Manually installing the .deb files worked for me!