Trouble including nv buffer libraries of multimedia API

I installed the Jetpack multimedia API through the provided instructions (i.e. hook up the TX1 system to another Ubuntu machine and push the updates over SSH).

I am writing a C++ application that uses the camera API. I can include “Argus/Argus.h” and “EGLStream/EGLStream.h” and use all the functionality of these.

But I am having trouble with some of the other libraries, namely those related to Nv Buffers. Specifically, I’m getting an error when I try to include “NvUtils.h” or “nvbuf_utils.h”.

How to I set up my system to compile against these libraries? Are there some additional steps or something?

And a bit more detail I forgot to include. I’m using CMake to generate the makefile. I am providing CMake with the “FindArgus.cmake” and “FindEGL.cmake” files to populate the {ARGUS_INCLUDE_DIRS} and {EGL_INCLUDE_DIRS} fields.

The only copy I can find of “nvbuf_utils.h” or “NvUtils.h” is in “~/tegra-multimedia-api/…” which is the default location that the installer copies them to.

I’d like the application to be portable, so I don’t want to just copy the headers into my application - I need cmake/make/g++ to be able to find the libraries without hardcoding the path.

Hi EEG, are you on r24.2.1 or r28.1?



1 Like

There is a known issue on r24.2.1

Please try r28.1 with new added APIs:

Thanks for the response DaneLLL, but I don’t see how that is related at all to my question.

I flashed another TX1 to r28.1, and once again, all of the multimedia API were installed to ~/tegra_multimedia_API

Is there a way to get my compiler to find the MMAPI dynamically? For example, if I use CMake, I can get CMake to find the Argus library (but only the Argus library) by including FindArgus.cmake in my cmake include directory.

I want my application to be portable and extensible to future versions, so I don’t want to copy the header files or hardcode any paths. Is this possible?

The path is at


Not sure how to program it into CMake. Please other users share experience.

[s]Hi EEG,

I am currently trying to integrate some functionality developed using Tegra MMAPI with an existing project built with Cmake and I am running into errors. More specifically, when trying to add some of the classes defined at:


Have you used those in your project? If yes, would you mind sharing the modifications you made to CMakeLists.txt to solve your problem?[/s]

Figured it out.


Hi bhargavK,

Could you share your solution with us, as we are facing the same problem.

I had the same problem today, Here is my solution. (Probably a bit late to the party but In case haha)

find_library(NVBUFF_LIB REQUIRED NAMES nvbuf_utils HINTS /usr/lib/aarch64-linux-gnu/tegra )

I’m using cmake 3.17

1 Like