These instructions have me baffled:
https://docs.nvidia.com/jetson/l4t-multimedia/cross_platform_support.html
I have followed the spirit of the instructions (because I couldn’t get flash.sh to work, as suggested) by instead using :
sudo dd if=/dev/sda1 of=./system.img
on my Jetson TX2,
where ‘sda1’ is the partition onto which ‘jetson_multimedia_api’ has been successfully installed and several of the projects successfully ‘made’ and executed. The dd command is issued in a directory on an empty partition large enough to accommodate the 64GB image file.
After transferring the image file to the computer from which I wish to cross compile to the TX2 and completing the instructions, I get a result that isn’t even a tiny bit surprising - I was just kind of hoping something miraculous would happen, I guess.
Below is documented what happens when I complete the instructions. at the above link. It is complete and self explanatory.
I have two questions:
- What is the work flow for what is being called “cross compiling” in this (Jetson) context? I find no recent description.
- What is missing from the instructions? I can’t imagine how this type of ‘cross-compiling’ is supposed to work and have been stumped for a long time trying one stupid idea after another.
Thanks,
Rusty
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
boyd@apricot:~$ echo $PATH
/media/boyd/data/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
boyd@apricot:~$ echo $TARGET_ROOTFS
/media/boyd/data
boyd@apricot:~$ echo $LD_LIBRARY_PATH
/media/boyd/data/usr/local/cuda-10.2/lib64
boyd@apricot:~$ echo $CROSS_COMPILE
aarch64-linux-gnu-
boyd@apricot:~$ cd /media/boyd/data/home/rusty/jetson_multimedia_api/samples/13_multi_camera
boyd@apricot:/media/boyd/data/home/rusty/jetson_multimedia_api/samples/13_multi_camera$ sudo make
[sudo] password for boyd:
Compiling: main.cpp
make[1]: Entering directory ‘/media/boyd/data/home/rusty/jetson_multimedia_api/samples/common/classes’
Compiling: NvElementProfiler.cpp
Compiling: NvElement.cpp
Compiling: NvApplicationProfiler.cpp
Compiling: NvVideoDecoder.cpp
Compiling: NvDrmRenderer.cpp
Compiling: NvJpegEncoder.cpp
Compiling: NvVideoConverter.cpp
Compiling: NvBuffer.cpp
Compiling: NvLogging.cpp
Compiling: NvEglRenderer.cpp
Compiling: NvUtils.cpp
Compiling: NvJpegDecoder.cpp
Compiling: NvVideoEncoder.cpp
Compiling: NvV4l2ElementPlane.cpp
Compiling: NvV4l2Element.cpp
make[1]: Leaving directory ‘/media/boyd/data/home/rusty/jetson_multimedia_api/samples/common/classes’
Compiling: /media/boyd/data/home/rusty/jetson_multimedia_api/argus/samples/utils/Thread.cpp
Linking: multi_camera
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lv4l2
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lEGL
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lGLESv2
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lX11
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lnvbuf_utils
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/cuda/lib64/libnvjpeg.so when searching for -lnvjpeg
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lnvjpeg
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lnvosd
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -ldrm
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lcuda
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/cuda/lib64/libcudart.so when searching for -lcudart
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lcudart
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lnveglstream_camconsumer
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld: cannot find -lnvargus_socketclient
collect2: error: ld returned 1 exit status
Makefile:60: recipe for target ‘multi_camera’ failed
make: *** [multi_camera] Error 1
boyd@apricot:/media/boyd/data/home/rusty/jetson_multimedia_api/samples/13_multi_camera$