Skipped step 2 of the ‘Building and Running’ section because CUDA,Opencv4tegra,cuDNN, and TensorRT were already installed (through the NVIDIA SDK Manager, during setup and OS flashing). I’m not using a host Linux system either, so skipped step 4 too.
The samples were located in a different location from what’s mentioned in the documentation - /usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture. In case this is relevant.
When I run ‘sudo make’, I’m getting this error:
jetson@jetsontx:/usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture$ sudo make
Compiling: main.cpp
Compiling: /usr/src/jetson_multimedia_api/argus/samples/utils/Thread.cpp
Linking: camera_jpeg_capture
/usr/bin/ld: cannot find -lEGL
/usr/bin/ld: cannot find -lGLESv2
collect2: error: ld returned 1 exit status
Makefile:60: recipe for target 'camera_jpeg_capture' failed
make: *** [camera_jpeg_capture] Error 1
What is causing the problem, and how can it be resolved? Is it an installation problem with EGL, and if so - is there a way to reinstall just those components that would fix the issue and not cause any other problems? If there’s any other info I need to provide, I can do that. Very new to Jetson development.
may I know which JetPack release version you’re working with,
please also double check you’re using the same release of L4T Multimedia API Reference package.
thanks
I’m using JetPack 4.3, the most recent version (we installed JetPack using NVIDIA SDK Manager barely around two weeks ago). I presume I should be looking at the most recent version of the L4T Multimedia API Reference too - which is 32.3.1. I did happen to be looking at a slightly older version - 28.1 - but the relevant sections are the same in both versions, and slightly different from what actually was. Please advise.
Thanks
could you please have a try again with SDKmanager to install SDK components,
or, you may execute commands on your platform to install those components, $ sudo apt-get install nvidia-jetpack
thanks
jetson@jetson-desktop:/usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture$ sudo make
Linking: camera_jpeg_capture
/usr/bin/ld: cannot find -lv4l2
/usr/bin/ld: cannot find -lEGL
collect2: error: ld returned 1 exit status
Makefile:60: recipe for target 'camera_jpeg_capture' failed
make: *** [camera_jpeg_capture] Error 1
Tried executing all of these as well. The first two packages were already installed and the last one created a broken link (screenshots attached) - so I took a look at the tegra-egl directory, and found that there was no “libEGL.so” there. The link doesn’t point to anything at the moment.
jetson@jetson-desktop:/usr/lib/aarch64-linux-gnu/tegra-egl$ ls
ld.so.conf libEGL_nvidia.so.0 libGLESv1_CM_nvidia.so.1 libGLESv2_nvidia.so.2 nvidia.json
No luck with either of the attempts. Please assist. Thanks!
I ran this command and it resolved one of the errors, but I still have one error left.
jetson@jetson-desktop:/usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture$ sudo make
Linking: camera_jpeg_capture
/usr/bin/ld: cannot find -lEGL
collect2: error: ld returned 1 exit status
Makefile:60: recipe for target 'camera_jpeg_capture' failed
make: *** [camera_jpeg_capture] Error 1
I thought of running this command, which JerryChang suggested:
sudo ln -sf tegra-egl/libEGL.so libEGL.so
with the libEGL files present in the tegra-egl folder (I thought the names might have changed slightly from libEGL.so):
jetson@jetson-desktop:/usr/lib/aarch64-linux-gnu/tegra-egl$ ls
ld.so.conf libEGL_nvidia.so.0 libGLESv1_CM_nvidia.so.1 libGLESv2_nvidia.so.2 nvidia.json
The link was created and I tried running ‘sudo make’ from the 09_camera_jpeg_capture directory. But now I am getting this error:
jetson@jetson-desktop:/usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture$ sudo make
Linking: camera_jpeg_capture
/usr/bin/ld: /usr/src/jetson_multimedia_api/samples/common/classes/NvEglRenderer.o: undefined reference to symbol 'eglDestroySurface'
//usr/lib/aarch64-linux-gnu/libEGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:60: recipe for target 'camera_jpeg_capture' failed
make: *** [camera_jpeg_capture] Error 1
Looks you lost many files.
Does the “sudo apt-get install nvidia-jetpack” command run success and full finish?
$ sudo apt-get update
$ sudo apt-get install nvidia-jetpack
Could you try using sdkmanager to flash and install sdk components again?
and more lines like the last few, until “ERROR: Flash Jetson TX1 : 4703”.
Is there a way to resolve the errors on the first few lines? An alternate way to get the .dtb file?
Given the number of times I have tried reflashing the OS (definitely above ten times) I am starting to think I’m doing something wrong and the documentation I’m following may be outdated or incorrect. Could you possibly provide me with a procedure you know will work? (note: there seems to be very little documentation available for using SDK Manager. Most of it seems to be written before the SDK Manager was released).
Are there any not-so-obvious steps I may have missed during the install? (for example, I saw a couple of threads where people had written about extending the memory using SSDs or external drives. Storage didn’t seem to be an issue in our case so I didn’t look too deeply into it)
Really at the end of my wits here, have been trying different things for nearly a month now (including setting up a fresh Ubuntu install before downloading SDK Manager) and nothing has worked. Any help is appreciated! Thanks in advance.
This ERROR is known issue, sorry for confused you.
You can ignore this error, we will fixed this issue on next JetPack version.
Please try again and select correct target device, the sdkmanager will keep running and flash image and install sdk components.