Can't compile syncStereo on Jetpack 5.0.2

Hi all!
I’m trying to get IMX219 camera calibration parameters from eeprom and on the forum I read that syncStereo shall do the magic.
I’m having problem compiling it though.

I started with compiling Argus in /usr/src/jetson_multimedia_api/argus/build
with

cd build && sudo cmake …
make -j nproc
sudo make install’

I didn’t see any errors…

Installing: /usr/local/bin/argus_camera

and all targets are built (including argussampleutils).

I then copied /usr/src/jetson_multimedia_api/argus/samples/syncStereo to my home folder.
When I try to cmake it and I get

Could not find a package configuration file provided by “Argus” with any of
the following names:

ArgusConfig.cmake
argus-config.cmake

Following this thread (Could NOT find Argus Error - #7 by jeremie.papon) I added:

set(CMAKE_MODULE_PATH “${CMAKE_SOURCE_DIR}/cmake” “${CMAKE_MODULE_PATH}”)
find_path(ARGUS_INCLUDE_DIR Argus/Argus.h
HINTS “/usr/src/jetson_multimedia_api/argus/include”)
set(CMAKE_MODULE_PATH “/usr/src/jetson_multimedia_api/argus/cmake” “${CMAKE_MODULE_PATH}”)
find_package(Argus REQUIRED)

and cmake finishes.

Make fails with

nvidia@nvidia-desktop:~/syncStereo/build$ make -j nproc
[ 50%] Building CXX object CMakeFiles/argus_syncstereo.dir/main.cpp.o
/home/nvidia/syncStereo/main.cpp:29:10: fatal error: ArgusHelpers.h: No such file or directory

I also tried to copy utils in syncStereo folder, adjusting the headers but then it cannot find -largussampleutils

nvidia@nvidia-desktop:~/syncStereo/build$ make -j nproc
[ 50%] Linking CXX executable argus_syncstereo
/usr/bin/ld: cannot find -largussampleutils

What’s the problem? Thank you!

hello Gorgo90,

since JP-5.1 (l4t-r35.2.1) is publish now, could you please moving to the latest release for confirmation.

Hi @JerryChang
I’d like to wait before upgrading since we’re using ISAAC-ROS with the rootfs mounted on the SD card. ISAAC-ROS hasn’t been tested for 5.1 yet (according to the repo) and I don’t have time to rebuild ROS(sources)+OpenCV(CUDA) this week.

Is syncStereo fixed in 5.1 only? I think my errors could be managed with 5.0.2 too.

hello Gorgo90,

I’ve double check this internally. there’s no failure with compiling Argus sample on JetPack-5.0.2.
you may try copy the whole jetson_multimedia_api/ to your home folder for compiling the sample.

Hi @JerryChang
I copied jetson_multimedia_api in my home folder.
I recompiled argus and installed it: argusBuild.log (32.4 KB)

Then I tried to compile syncStereo without editing CMakeFiles.txt:

nvidia@nvidia-desktop:~/jetson_multimedia_api/argus/samples/syncStereo/build$ rm -rf *
nvidia@nvidia-desktop:~/jetson_multimedia_api/argus/samples/syncStereo/build$ cmake …
CMake Deprecation Warning at CMakeLists.txt:27 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– The C compiler identification is GNU 9.4.0
– The CXX compiler identification is GNU 9.4.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
CMake Error at CMakeLists.txt:34 (find_package):
By not providing “FindArgus.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “Argus”, but
CMake did not find one.

Could not find a package configuration file provided by “Argus” with any of
the following names:

ArgusConfig.cmake
argus-config.cmake

Add the installation prefix of “Argus” to CMAKE_PREFIX_PATH or set
“Argus_DIR” to a directory containing one of the above files. If “Argus”
provides a separate development package or SDK, be sure it has been
installed.

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

If I add these 2 lines to CMakeLists.txt:

find_path(ARGUS_INCLUDE_DIR Argus/Argus.h HINTS “/home/nvidia/jetson_multimedia_api/argus/include”)
set(CMAKE_MODULE_PATH “/home/nvidia/jetson_multimedia_api/argus/cmake” “${CMAKE_MODULE_PATH}”)

cmake completes (Found Argus: /usr/lib/aarch64-linux-gnu/tegra/libnvargus.so) but make fails:

nvidia@nvidia-desktop:~/jetson_multimedia_api/argus/samples/syncStereo/build$ make -j nproc
[ 50%] Building CXX object CMakeFiles/argus_syncstereo.dir/main.cpp.o
/home/nvidia/jetson_multimedia_api/argus/samples/syncStereo/main.cpp:29:10: fatal error: ArgusHelpers.h: No such file or directory
29 | #include “ArgusHelpers.h”
| ^~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/argus_syncstereo.dir/build.make:76: CMakeFiles/argus_syncstereo.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/argus_syncstereo.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

hello Gorgo90,

this header file should be exist under argus/samples/utils/ folder, right?
how you copy the jetson_multimedia_api , did you have sudo included for folder copy?
please examine the file information for the owner and/or group.
thanks

Hi @JerryChang
Yes the header is actually in the folder:

nvidia@nvidia-desktop:~$ ls -la /home/nvidia/jetson_multimedia_api/argus/samples/utils/
total 484
drwxr-xr-x 5 nvidia nvidia 4096 Feb 3 06:35 .
drwxr-xr-x 24 nvidia nvidia 4096 Feb 3 06:35 …
-rw-r–r-- 1 nvidia nvidia 12599 Feb 3 06:35 ArgusHelpers.cpp
-rw-r–r-- 1 nvidia nvidia 3327 Feb 3 06:35 ArgusHelpers.h
-rw-r–r-- 1 nvidia nvidia 3664 Feb 3 06:35 CMakeLists.txt
-rw-r–r-- 1 nvidia nvidia 7647 Feb 3 06:35 CUDAHelper.cpp
-rw-r–r-- 1 nvidia nvidia 3075 Feb 3 06:35 CUDAHelper.h
-rw-r–r-- 1 nvidia nvidia 6123 Feb 3 06:35 CommonOptions.cpp
-rw-r–r-- 1 nvidia nvidia 5688 Feb 3 06:35 CommonOptions.h
-rw-r–r-- 1 nvidia nvidia 201414 Feb 3 06:35 Courier16x24.h
-rw-r–r-- 1 nvidia nvidia 7238 Feb 3 06:35 EGLGlobal.cpp
-rw-r–r-- 1 nvidia nvidia 5561 Feb 3 06:35 EGLGlobal.h
-rw-r–r-- 1 nvidia nvidia 3673 Feb 3 06:35 Error.h
-rw-r–r-- 1 nvidia nvidia 17145 Feb 3 06:35 GLContext.cpp
-rw-r–r-- 1 nvidia nvidia 7230 Feb 3 06:35 GLContext.h
-rw-r–r-- 1 nvidia nvidia 2249 Feb 3 06:35 IEGLImageSource.h
-rw-r–r-- 1 nvidia nvidia 1972 Feb 3 06:35 IObserver.h
-rw-r–r-- 1 nvidia nvidia 3310 Feb 3 06:35 InitOnce.h
-rw-r–r-- 1 nvidia nvidia 3862 Feb 3 06:35 JPEGConsumer.cpp
-rw-r–r-- 1 nvidia nvidia 2570 Feb 3 06:35 JPEGConsumer.h
-rw-r–r-- 1 nvidia nvidia 3087 Feb 3 06:35 NativeBuffer.cpp
-rw-r–r-- 1 nvidia nvidia 3271 Feb 3 06:35 NativeBuffer.h
-rw-r–r-- 1 nvidia nvidia 3487 Feb 3 06:35 Observed.cpp
-rw-r–r-- 1 nvidia nvidia 2912 Feb 3 06:35 Observed.h
-rw-r–r-- 1 nvidia nvidia 10813 Feb 3 06:35 Options.cpp
-rw-r–r-- 1 nvidia nvidia 11660 Feb 3 06:35 Options.h
-rw-r–r-- 1 nvidia nvidia 2735 Feb 3 06:35 Ordered.h
-rw-r–r-- 1 nvidia nvidia 13223 Feb 3 06:35 PreviewConsumer.cpp
-rw-r–r-- 1 nvidia nvidia 4010 Feb 3 06:35 PreviewConsumer.h
-rw-r–r-- 1 nvidia nvidia 3002 Feb 3 06:35 RectUtils.cpp
-rw-r–r-- 1 nvidia nvidia 3043 Feb 3 06:35 RectUtils.h
-rw-r–r-- 1 nvidia nvidia 3794 Feb 3 06:35 Thread.cpp
-rw-r–r-- 1 nvidia nvidia 3145 Feb 3 06:35 Thread.h
-rw-r–r-- 1 nvidia nvidia 3692 Feb 3 06:35 UniquePointer.h
-rw-r–r-- 1 nvidia nvidia 23869 Feb 3 06:35 Validator.h
-rw-r–r-- 1 nvidia nvidia 3800 Feb 3 06:35 Value.h
-rw-r–r-- 1 nvidia nvidia 1706 Feb 3 06:35 Window.h
-rw-r–r-- 1 nvidia nvidia 6230 Feb 3 06:35 WindowBase.cpp
-rw-r–r-- 1 nvidia nvidia 16440 Feb 3 06:35 WindowBase.h
drwxr-xr-x 2 nvidia nvidia 4096 Feb 3 06:35 glx
drwxr-xr-x 2 nvidia nvidia 4096 Feb 3 06:35 gtk
drwxr-xr-x 2 nvidia nvidia 4096 Feb 3 06:35 nvmmapi

I copied jetson_multimedia_api with cp -r /usr/src/jetson_multimedia_api/ ~

hello Gorgo90,

I see something wrong…
this build folder should created under Argus as following. for example, ~/jetson_multimedia_api/argus/build/
you should execute cmake .. in the build folder,

$ cmake ..
...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nvidia/jetson_multimedia_api/argus/build

and,
you should be able to build individual executable as following.

$ make argus_syncstereo
[ 88%] Built target argussampleutils
[100%] Built target argus_syncstereo

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