I installed nvidia-l4t-jetson-multimedia-api, but can't find argus_camera

Continuing the discussion from Install Multimedia API Alone:

I’m looking for the argus_camera application mentioned in the D3 Jetson BSP v5.0.0-pre.3 Release Notes
I installed the nvidia-l4t-jetson-multimedia-api and also ran d3-build-tegra-media-api (as mentioned in the Release Notes).

I’d appreciate any help so that I can get the cameras on my D3 board working.

Here’s the CMakeError.log:

Determining if the pthread_create exist failed with the following output:
Change Dir: /home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_2effb/fast"
/usr/bin/make -f CMakeFiles/cmTC_2effb.dir/build.make CMakeFiles/cmTC_2effb.dir/build
make[1]: Entering directory '/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_2effb.dir/CheckSymbolExists.c.o
/usr/bin/cc   -fPIC    -o CMakeFiles/cmTC_2effb.dir/CheckSymbolExists.c.o   -c /home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_2effb
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2effb.dir/link.txt --verbose=1
/usr/bin/cc -fPIC     -rdynamic CMakeFiles/cmTC_2effb.dir/CheckSymbolExists.c.o  -o cmTC_2effb 
CMakeFiles/cmTC_2effb.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x14): undefined reference to `pthread_create'
CheckSymbolExists.c:(.text+0x18): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_2effb.dir/build.make:97: recipe for target 'cmTC_2effb' failed
make[1]: *** [cmTC_2effb] Error 1
make[1]: Leaving directory '/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_2effb/fast' failed
make: *** [cmTC_2effb/fast] Error 2

File /home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_daddc/fast"
/usr/bin/make -f CMakeFiles/cmTC_daddc.dir/build.make CMakeFiles/cmTC_daddc.dir/build
make[1]: Entering directory '/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_daddc.dir/CheckFunctionExists.c.o
/usr/bin/cc   -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_daddc.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c
Linking C executable cmTC_daddc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_daddc.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -DCHECK_FUNCTION_EXISTS=pthread_create    -rdynamic CMakeFiles/cmTC_daddc.dir/CheckFunctionExists.c.o  -o cmTC_daddc -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_daddc.dir/build.make:97: recipe for target 'cmTC_daddc' failed
make[1]: *** [cmTC_daddc] Error 1
make[1]: Leaving directory '/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_daddc/fast' failed
make: *** [cmTC_daddc/fast] Error 2

How can I fix these to get the argus_camera working?
Thanks,
Mechi

Hi,
For reference, please share which Jetpack release you are using.

I’m now trying to use the latest - JetPack 5.0.2 - which I downloaded from the site.
I’ve been following the directions in the D3 Jetson NX Carrier Bringup (dated Nov 4 '22).

I installed everything successfully using the SDK Manager.

I tried to flash the d3-xavier-16x-fpdlink.dtb using the command:
sudo ./flash.sh -r -k kernel-dtb -d ./d3-xavier-16x-fpdlink.dtb jetson-xavier mmcblk0p1

And received the following Error:

[ 5.1142 ] Sending bootloader and pre-requisite binaries
[ 5.1162 ] tegrarcm_v2 --download blob blob.bin
[ 5.1169 ] Applet version 01.00.0000
[ 5.5433 ] Sending blob
[ 5.5434 ] […] 100%
[ 6.7399 ] tegrarcm_v2 --boot recovery
[ 6.7406 ] Applet version 01.00.0000
[ 8.1806 ] tegrarcm_v2 --isapplet
[ 9.2980 ] tegrarcm_v2 --ismb2
[ 9.7279 ] tegradevflash_v2 --iscpubl
[ 9.7285 ] Bootloader version 01.00.0000
[ 9.8786 ] Bootloader version 01.00.0000
[ 9.8808 ] Writing partition
[ 9.8820 ] tegradevflash_v2 --write kernel-dtb 1_kernel_d3-xavier-16x-fpdlink_sigheader.dtb.encrypt
[ 9.8827 ] Bootloader version 01.00.0000
[ 10.0517 ] Writing partition kernel-dtb with 1_kernel_d3-xavier-16x-fpdlink_sigheader.dtb.encrypt [ 740256 bytes ]
[ 10.0520 ] 0000000074740204: E> NV3P_SERVER: Accessing offset 740256 after boundary partition size 524288
[ 10.0538 ]
[ 10.0538 ]
Error: Return value 4
Command tegradevflash_v2 --write kernel-dtb 1_kernel_d3-xavier-16x-fpdlink_sigheader.dtb.encrypt
Failed to flash/read t186ref.

Please advise how to proceed.
Thanks,
Mechi

CONFIDENTIALITY: The content of this email message and any files transmitted with it is confidential and/or privileged and is intended for the recipient(s) specified in message only. It is strictly forbidden to share any part of this message with any third party, without a written consent of the sender. If you received this message by mistake, please reply to this message and follow with its deletion, so that we can ensure such a mistake does not occur in the future.

Hi,
So you use AGX Xavier, not Jetson Nano. The category is in Jetson Nano so I thought you use Jetson Nano. Do you use Xavier developer kit or D3’s carrier board?

Oh - I didn’t realize that this was a specific forum.
Can I move the topic to the correct forum?

We’re using the Jetson AGX Xavier FPD-Link III Interface Card from D3 with 16 camera connections.

I’m continuing with the installation -
sudo apt install ./linux-image-5.10.104+6.0.0-d3+_1_arm64.deb ./d3-jetson-util_6.0.0-1_arm64.deb
sudo apt install ./linux-headers-5.10.104+6.0.0-d3+_1_arm64.deb ./linux-libc-dev_1_arm64.deb

Both succeeded.

But what should I provide for the sudo d3-install-dtb script?

Blockquote
dev@ubuntu:~$ sudo d3-install-dtb
[d3-install-dtb] Choose an installed D3 BSP release 1) ./linux-image-5.10.104+6.0.0-d3+
#? d3-xavier-16x-fpdlink.dtb
[d3-install-dtb] Select a valid D3 BSP kernel release
#? linux-image-5.10.104+6.0.0-d3+_1_arm64
[d3-install-dtb] Select a valid D3 BSP kernel release
#? ?

Thanks

I put the d3-xavier-16x-fpdlink.dtb file in /boot/ and updated the extlinux.conf. I was successful in viewing video from both cameras!

The argus_camera utility worked after I manually installed (degrade) all of the dependencies of the l4t_multimedia libraries.

Same problem…

I re-installed the whole system from the (new) SDK Manager - Linux 4.6.1 and Jetson 5.0.0
After installing the *deb files:

sudo apt install ./linux-image-4.9.253+5.0.0-d3+_1_arm64.deb ./d3-jetson-util_5.0.0-1_arm64.deb
sudo apt install ./linux-firmware-image-4.9.253+5.0.0-d3+_1_arm64.deb ./linux-headers-4.9.253+5.0.0-d3+_1_arm64.deb ./linux-libc-dev_1_arm64.deb

I ran d3-build-tegra-media-api and received the following:

Warning: Target Tegra Multi Media API version is unknown for
this L4T version. Will continue without explicit
versioning! (This can break other packages)
Reading package lists… Done-c to cancel)
Building dependency tree
Reading state information… Done
build-essential is already the newest version (12.4ubuntu1).
libjpeg-dev is already the newest version (8c-2ubuntu8).
libv4l-dev is already the newest version (1.14.2-1).
pkg-config is already the newest version (0.29.1-0ubuntu2).
cmake is already the newest version (3.10.2-1ubuntu2.18.04.2).
libexpat1-dev is already the newest version (2.2.5-3ubuntu0.9).
libgstreamer1.0-dev is already the newest version (1.14.5-0ubuntu1~18.04.2).
libgtk-3-dev is already the newest version (3.22.30-1ubuntu4).
libx11-dev is already the newest version (2:1.6.4-3ubuntu0.4).
gcc-6 is already the newest version (6.5.0-2ubuntu1~18.04).
nvidia-l4t-jetson-multimedia-api is already the newest version (32.7.3-20221122092958).
0 upgraded, 0 newly installed, 0 to remove and 217 not upgraded.
~/jetson_multimedia_api/argus ~
CMake Error at CMakeLists.txt:37 (add_subdirectory):
add_subdirectory given source “samples/l4t_droid” which is not an existing
directory.

CMake Error at CMakeLists.txt:38 (add_subdirectory):
add_subdirectory given source “samples/l4tdroid_App” which is not an
existing directory.

– Configuring incomplete, errors occurred!
See also “/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeOutput.log”.
See also “/home/dev/jetson_multimedia_api/argus/build/CMakeFiles/CMakeError.log”.

I don’t need the l4tdroid libraries…
But how do I fix the version mis-match?

I finally reinstalled the L4T nvidia version 32.7.1:

        a) sudo apt-get install nvidia-l4t-3d-core=32.7.1-20220219090344
        b) sudo apt-get install nvidia-l4t-cuda=32.7.1-20220219090344
        c) sudo apt-get install nvidia-l4t-multimedia-utils=32.7.1-20220219090344
        d) sudo apt-get install nvidia-l4t-camera=32.7.1-20220219090344
        e) sudo apt-get install nvidia-l4t-multimedia=32.7.1-20220219090344
        f) sudo apt-get install **nvidia-l4t-jetson-multimedia-api**=32.7.1-20220219090344

and then tried to run the d3-build-tegra-media-api, but got the following errors:

/usr/bin/ld: warning: libcuda.so.1, needed by //usr/lib/aarch64-linux-gnu/tegra/libnvscf.so, not found (try using -rpath or -rpath-link)

Where do i find libcuda.so.1???

Thanks,
Mechi

I googled the problem and put the missing file where the linker looks for it:

dev@ubuntu:~$ sudo find /usr/ -name ‘libcuda.so.*’ #version
/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1.1
/usr/local/cuda-10.2/doc/man/man7/libcuda.so.7

dev@ubuntu:~$ echo $LD_LIBRARY_PATH #path
/usr/local/cuda-10.2/lib64:

dev@ubuntu:~$ ln -s /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1.1 /usr/local/cuda-10
cuda-10/ cuda-10.2/

dev@ubuntu:~$ sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1.1 /usr/local/cuda-10.2/lib64/libcuda.so.1

And now the d3-build-tegra-media-api succeeds!!!

I hope this helps someone - this was VERY frustrating.

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