Interfacing Leopard Imaging camera (IMX324-GMSL2) with TX2

I followed the procedure which is provided by Leopard Imaging to connect the camera with TX2. While executing command Make I get the following errors. I would appreciate your support to mitigate this error no. [58]

[ 51%] Building CXX object apps/camera/ui/multiSession/CMakeFiles/arguscamerauimultisession.dir/AppModuleMultiSession.cpp.o
[ 52%] Linking CXX static library libarguscamerauimultisession.a
[ 52%] Built target arguscamerauimultisession
Scanning dependencies of target arguscamerauivideo
[ 54%] Building CXX object apps/camera/ui/video/CMakeFiles/arguscamerauivideo.dir/AppModuleVideo.cpp.o
[ 55%] Linking CXX static library libarguscamerauivideo.a
[ 55%] Built target arguscamerauivideo
[ 56%] Generating cameraBuilder.h
Scanning dependencies of target argus_camera
[ 57%] Building CXX object apps/camera/ui/camera/CMakeFiles/argus_camera.dir/Main.cpp.o
[ 58%] Linking CXX executable argus_camera
…/…/modules/libarguscameramodules.a(StillCapture.cpp.o): In function ArgusSamples::TaskStillCapture::execute()': StillCapture.cpp:(.text+0x1f18): undefined reference to EGLStream::FrameConsumer::create(Argus::OutputStream*, unsigned int, Argus::Status*)’
collect2: error: ld returned 1 exit status
apps/camera/ui/camera/CMakeFiles/argus_camera.dir/build.make:126: recipe for target ‘apps/camera/ui/camera/argus_camera’ failed
make[2]: *** [apps/camera/ui/camera/argus_camera] Error 1
CMakeFiles/Makefile2:155: recipe for target ‘apps/camera/ui/camera/CMakeFiles/argus_camera.dir/all’ failed
make[1]: *** [apps/camera/ui/camera/CMakeFiles/argus_camera.dir/all] Error 2
Makefile:151: recipe for target ‘all’ failed
make: *** [all] Error 2

Hi atejani2,

What is the purpose of building LibArgus sample? just testing the camera?

In order to properly test the hardware you will need drivers for GMSL2 (serializer, deserializer) and camera driver for IMX324.
If you have these elements, any video stream application like GStreamer can be used to test the camera.

The examples of LibArgus will create video stream from cameras but the result will be similar to running a GStreamer pipeline using nvarguscamerasrc.

You need to be sure the camera driver is loaded, it should create a video device like /dev/video0, then video output can be tested with a pipeline.

Example:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! queue ! xvimagesink sync=false

Greivin F.

Hi greivin.fallas,

Thank you for the response.

The purpose of building LibAgrgus - Testing camera and it was generated automatically when I applied make command.

I made sure that the camera is detected on USB port by /dev/video0.
When I try to access this camera by GStreamer, TX2 always shows the result of inbuilt camera not the external camera.

So this device detects an external camera, but unable to access it???
(The Camera is working fine which I verified by implementing in Windows system)

Hi atejani2,

This post may be related:

https://devtalk.nvidia.com/default/topic/1058112/jetson-agx-xavier/which-is-the-dependency-library-of-this-api-/

From your log, it seems that some packages are missing to successfully compile the Argus samples (and other related files).

From the shared post above, try installing Jetson SDK Components using SDK manager, then try Leopard Imaging’s procedure to enable the camera, the SDK manager should install the dependencies that you need.

Greivin F.

Hi greivin.fallas,

Thanks. I will follow this procedure which you have suggested.

Just quick doubt. Do I need to reflash the whole device(I don’t want to lose my whole data)!! I would appreciate your help if you could explain this in details.(As I am new to Jetson TX2)

Thanks.
Arjun

Hi,

In SDK manager, just select the option to install Jetson SDK Components, be sure to uncheck the flash device option, similar to image below.

Just in case the image doesn’t load, here is the link: https://ibb.co/SxdBx0v

SDK manager will install the packages using a network connection (user, board IP and password will be required).

When the process finishes, use the steps in the Leopard Imaging guide.
At this point all dependencies should be installed.

Greivin F.