# Trying to use dpkg-shlibdeps to determine dependencies for building a package, but it can't find dependencies of some multimedia libs

**URL:** <https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806>\
**Category:** Jetson Orin NX\
**Tags:** mmapi\
**Created:** [January 3, 2024, 10:11pm UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806 "2024-01-03T22:11:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![oviano](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@oviano](https://forums.developer.nvidia.com/u/oviano)\
**Post date:** [January 3, 2024, 10:11pm UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/1 "2024-01-03T22:11:01Z")

</div>

There doesn’t seem to be anything in /var/lib/dpkg for libnvbufsurface, libnvbufsurftransform or libv4l2 which would enable dpkg-shlibdeps to correctly identify all the dependencies needed by the executable.

```auto
oliver@Jetson-Dev:~/emu-server-linux$ dpkg-shlibdeps -v usr/local/bin/emu-server --ignore-missing-info -O
dpkg-shlibdeps: debug: >> Scanning usr/local/bin/emu-server (for Depends field)
dpkg-shlibdeps: debug: Library libasound.so.2 found in /lib/aarch64-linux-gnu/libasound.so.2
dpkg-shlibdeps: debug: Library libasound.so.2 found in /usr/lib/aarch64-linux-gnu/libasound.so.2
dpkg-shlibdeps: debug: Library libavahi-client.so.3 found in /lib/aarch64-linux-gnu/libavahi-client.so.3
dpkg-shlibdeps: debug: Library libavahi-client.so.3 found in /usr/lib/aarch64-linux-gnu/libavahi-client.so.3
dpkg-shlibdeps: debug: Library libavahi-common.so.3 found in /lib/aarch64-linux-gnu/libavahi-common.so.3
dpkg-shlibdeps: debug: Library libavahi-common.so.3 found in /usr/lib/aarch64-linux-gnu/libavahi-common.so.3
dpkg-shlibdeps: debug: Library libavcodec.so.58 found in /lib/aarch64-linux-gnu/libavcodec.so.58
dpkg-shlibdeps: debug: Library libavcodec.so.58 found in /usr/lib/aarch64-linux-gnu/libavcodec.so.58
dpkg-shlibdeps: debug: Library libavutil.so.56 found in /lib/aarch64-linux-gnu/libavutil.so.56
dpkg-shlibdeps: debug: Library libavutil.so.56 found in /usr/lib/aarch64-linux-gnu/libavutil.so.56
dpkg-shlibdeps: debug: Library libudev.so.1 found in /lib/aarch64-linux-gnu/libudev.so.1
dpkg-shlibdeps: debug: Library libudev.so.1 found in /usr/lib/aarch64-linux-gnu/libudev.so.1
dpkg-shlibdeps: debug: Library libuuid.so.1 found in /lib/aarch64-linux-gnu/libuuid.so.1
dpkg-shlibdeps: debug: Library libuuid.so.1 found in /usr/lib/aarch64-linux-gnu/libuuid.so.1
dpkg-shlibdeps: debug: Library libnvbufsurface.so.1.0.0 found in /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurface.so.1.0.0
dpkg-shlibdeps: debug: Library libnvbufsurftransform.so.1.0.0 found in /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurftransform.so.1.0.0
dpkg-shlibdeps: debug: Library libv4l2.so.0 found in /lib/aarch64-linux-gnu/libv4l2.so.0
dpkg-shlibdeps: debug: Library libv4l2.so.0 found in /usr/lib/aarch64-linux-gnu/libv4l2.so.0
dpkg-shlibdeps: debug: Library libv4l2.so.0 found in /usr/lib/aarch64-linux-gnu/nvidia/libv4l2.so.0
dpkg-shlibdeps: debug: Library libstdc++.so.6 found in /lib/aarch64-linux-gnu/libstdc++.so.6
dpkg-shlibdeps: debug: Library libstdc++.so.6 found in /usr/lib/aarch64-linux-gnu/libstdc++.so.6
dpkg-shlibdeps: debug: Library libm.so.6 found in /lib/aarch64-linux-gnu/libm.so.6
dpkg-shlibdeps: debug: Library libm.so.6 found in /usr/lib/aarch64-linux-gnu/libm.so.6
dpkg-shlibdeps: debug: Library libgcc_s.so.1 found in /lib/aarch64-linux-gnu/libgcc_s.so.1
dpkg-shlibdeps: debug: Library libgcc_s.so.1 found in /usr/lib/aarch64-linux-gnu/libgcc_s.so.1
dpkg-shlibdeps: debug: Library libc.so.6 found in /lib/aarch64-linux-gnu/libc.so.6
dpkg-shlibdeps: debug: Library libc.so.6 found in /usr/lib/aarch64-linux-gnu/libc.so.6
dpkg-shlibdeps: debug: Library ld-linux-aarch64.so.1 found in /lib/ld-linux-aarch64.so.1
dpkg-shlibdeps: debug: Library ld-linux-aarch64.so.1 found in /usr/lib/ld-linux-aarch64.so.1
dpkg-shlibdeps: debug: Library ld-linux-aarch64.so.1 found in /lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
dpkg-shlibdeps: debug: Library ld-linux-aarch64.so.1 found in /usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libasound2:arm64.symbols for libasound.so.2
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libavahi-client3:arm64.symbols for libavahi-client.so.3
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libavahi-common3:arm64.symbols for libavahi-common.so.3
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libavcodec58:arm64.symbols for libavcodec.so.58
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libavutil56:arm64.symbols for libavutil.so.56
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libudev1:arm64.symbols for libudev.so.1
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libuuid1:arm64.symbols for libuuid.so.1
dpkg-shlibdeps: debug: Using shlibs+objdump for libnvbufsurface.so.1.0.0 (file /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurface.so.1.0.0)
dpkg-shlibdeps: debug: Looking up shlibs dependency of libnvbufsurface.so.1.0.0 provided by 'nvidia-l4t-multimedia-utils'
dpkg-shlibdeps: debug: Found nothing
dpkg-shlibdeps: debug: No shlibs+objdump info available, trying next package for /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurface.so.1.0.0
dpkg-shlibdeps: debug: Using shlibs+objdump for libnvbufsurftransform.so.1.0.0 (file /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurftransform.so.1.0.0)
dpkg-shlibdeps: debug: Looking up shlibs dependency of libnvbufsurftransform.so.1.0.0 provided by 'nvidia-l4t-multimedia'
dpkg-shlibdeps: debug: Found nothing
dpkg-shlibdeps: debug: No shlibs+objdump info available, trying next package for /usr/lib/aarch64-linux-gnu/nvidia/libnvbufsurftransform.so.1.0.0
dpkg-shlibdeps: debug: Using shlibs+objdump for libv4l2.so.0 (file /lib/aarch64-linux-gnu/libv4l2.so.0)
dpkg-shlibdeps: debug: Looking up shlibs dependency of libv4l2.so.0 provided by 'nvidia-l4t-multimedia'
dpkg-shlibdeps: debug: Found nothing
dpkg-shlibdeps: debug: No shlibs+objdump info available, trying next package for /lib/aarch64-linux-gnu/libv4l2.so.0
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libv4l-0:arm64.symbols for libv4l2.so.0
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libstdc++6:arm64.symbols for libstdc++.so.6
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libc6:arm64.symbols for libm.so.6
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libgcc-s1:arm64.symbols for libgcc_s.so.1
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libc6:arm64.symbols for libc.so.6
dpkg-shlibdeps: debug: Using symbols file /var/lib/dpkg/info/libc6:arm64.symbols for ld-linux-aarch64.so.1
dpkg-shlibdeps: warning: binaries to analyse should already be installed in their package's directory
dpkg-shlibdeps: debug: Updating dependencies of libasound.so.2 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libasound2-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libavahi-client.so.3 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libavahi-client-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libavahi-common.so.3 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libavahi-common-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libavcodec.so.58 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libavcodec-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libavutil.so.56 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libavutil-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libudev.so.1 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libudev-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libuuid.so.1 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in uuid-dev build-dependency
dpkg-shlibdeps: debug: Updating dependencies of libv4l2.so.0 with build-dependencies
dpkg-shlibdeps: debug: No minimal version found in libv4l-dev build-dependency
shlibs:Depends=libasound2 (>= 1.0.16), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavcodec58 (>= 7:4.4), libavutil56 (>= 7:4.4), libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libudev1 (>= 183), libuuid1 (>= 2.16), libv4l-0 (>= 0.5.0)
oliver@Jetson-Dev:~/emu-server-linux$ 

```

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [January 4, 2024, 3:26am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/3 "2024-01-04T03:26:42Z")

</div>

hello oviano,

may I know what’s the real use-case, which package you would like to install?  
please also share your environment setups, and also the L4T release version for reference,  
i.e. `$ cat /etc/nv_tegra_release`

---

<div class="post-metadata">

**Author:** ![oviano](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@oviano](https://forums.developer.nvidia.com/u/oviano)\
**Post date:** [January 4, 2024, 8:21am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/4 "2024-01-04T08:21:38Z")

</div>

So I want to test out my application on a handful of Jetson devices, so on one of the devices I am using dpkg-deb to create a .deb package file, following some tutorials I found. The idea is I can then copy this to the other devices, run dpkg -I to install it and sudo apt install -f to install the dependencies.

So ideally the package file would also install include information about the required dependencies, so before building it I am running dpkg-shlibdeps on the binary as shown above. I can then paste the shlibs:Depends= line into the DEBIAN/control file prior to running dpkg-deb to create the package.

This mostly works with the exception of the three libraries shown the output above (libnvbufsurface, libnvbufsurftransform libv4l2) which are part of nvidia-l4t-multimedia and nvidia-l4t-multimedia-utils.

For these libraries it seems unable to calculate the dependencies of these libraries because it cannot find the associated symbols/shlist files that exists for the other libraries in /var/lib/dpkg/info.

I am asking if these files are available somewhere or have been accidentally missed out or something.

The results of cat /etc/nv\_tegra\_release is:

```auto
# R36 (release), REVISION: 2.0, GCID: 34956989, BOARD: generic, EABI: aarch64, DATE: Thu Nov 30 19:03:58 UTC 2023
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia

```

The device is a reComputer J401 Carrier Board with a Jetson Orin NX 8GB installed onto it.

It’s flashed with Ubuntu 22.04/JP6 DP.

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [January 5, 2024, 8:46am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/5 "2024-01-05T08:46:28Z")

</div>

hello oviano,

please refer to developer guide to customize your RootFS for confirmation. [Root File System](https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/SD/RootFileSystem.html).

---

<div class="post-metadata">

**Author:** ![oviano](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@oviano](https://forums.developer.nvidia.com/u/oviano)\
**Post date:** [January 5, 2024, 9:11am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/6 "2024-01-05T09:11:51Z")

</div>

That page describes how to create a custom rootfs presumably for flashing to the other devices.

That’s not what I require or was asking; I want to use the regular package install mechanism to install my test app on the pre-flashed devices.

Actually it basically works, I was just hoping that I could get the dependencies perfect, hence the Q.

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [January 8, 2024, 3:17am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/7 "2024-01-08T03:17:19Z")

</div>

hello oviano,

> [@oviano](#):
>
> three libraries shown the output above (libnvbufsurface, libnvbufsurftransform libv4l2)

it’s from MMAPI package, which is available via APT server. (i.e. `$ sudo apt install nvidia-l4t-jetson-multimedia-api`) it has dependency of Jetpack release version (i.e. `/etc/nv_tegra_release`)

hence..  
you should delivery deb package across two targets based-on the same JP release version.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [January 31, 2024, 6:46am UTC](https://forums.developer.nvidia.com/t/trying-to-use-dpkg-shlibdeps-to-determine-dependencies-for-building-a-package-but-it-cant-find-dependencies-of-some-multimedia-libs/277806/9 "2024-01-31T06:46:39Z")

</div>

Closed on January 31, 2024, 6:46am UTC

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
