I have been using dustynv/l4t-pytorch:r36.4.0 base image but it comes with pytorch 2.4.0 and opencv in the image. I want to use a newer version of pytorch.
I tried to use dustynv/pytorch:2.7-r36.4.0 as it was the latest image from dustynv docker hub for my Jetson Orin jetpack 6.2 L4T 36.4.3
But that image does not come with opencv. I tried
jetson-containers build --base=dustynv/pytorch:2.7-r36.4.0 \
--name dev/jetson-pytorch-cv:2.7-r36.4.0 \
ffmpeg:jetpack opencv:4.12.0
but failed at the opencv test with
...
1 warning found (use docker --debug to expand):
- InvalidDefaultArgInFrom: Default value for ARG ${BASE_IMAGE} results in empty or invalid base image name (line 12)
[20:44:34] [##################] 13/13 Testing opencv:4.12.0 (dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0) 12 stages completed in 01m40s at 20:44:34
┌──────────────────────────────────────────────────────────────────────────────────────────────┐
│ > TESTING dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0 │
└──────────────────────────────────────────────────────────────────────────────────────────────┘
docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia \
--env NVIDIA_DRIVER_CAPABILITIES=all \
--volume /home/ubuntu/jetson-containers/packages/cv/opencv:/test \
--volume /home/ubuntu/jetson-containers/data:/data \
dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0 \
/bin/bash -c 'python3 /test/test.py'
testing OpenCV...
Traceback (most recent call last):
File "/test/test.py", line 4, in <module>
import cv2
File "/opt/venv/lib/python3.10/site-packages/cv2/__init__.py", line 181, in <module>
bootstrap()
File "/opt/venv/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/opt/python/cpython-3.10-linux-aarch64-gnu/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libnvcuvid.so.1: cannot open shared object file: No such file or directory
[20:44:35] warn =====================================================================================
[20:44:35] warn =====================================================================================
[20:44:35] warn 💣 `jetson-containers build` failed after 103.3 seconds (1.7 minutes)
[20:44:35] warn Error: Command 'docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia --env NVIDIA_DRIVER_CAPABILITIES=all --volume /home/ubuntu/jetson-containers/packages/cv/opencv:/test --volume /home/ubuntu/jetson-containers/data:/data dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0 /bin/bash -c 'python3 /test/test.py' 2>&1 | tee /home/ubuntu/jetson-containers/logs/20260705_204251/test/13-1_dev_jetson-pytorch-cv_2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0_test.py.txt; exit ${PIPESTATUS[0]}' returned non-zero exit status 1.
[20:44:35] warn =====================================================================================
[20:44:35] warn =====================================================================================
[20:44:35] error Failed building: ffmpeg:jetpack, opencv:4.12.0
Traceback (most recent call last):
File "/home/ubuntu/jetson-containers/jetson_containers/build.py", line 150, in <module>
build_container(**vars(args))
File "/home/ubuntu/jetson-containers/jetson_containers/container.py", line 491, in build_container
test_container(container_name, pkg, simulate, build_idx=idx)
File "/home/ubuntu/jetson-containers/jetson_containers/container.py", line 698, in test_container
status = subprocess.run(cmd.replace(_NEWLINE_, ' '), executable='/bin/bash', shell=True, check=True)
File "/usr/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia --env NVIDIA_DRIVER_CAPABILITIES=all --volume /home/ubuntu/jetson-containers/packages/cv/opencv:/test --volume /home/ubuntu/jetson-containers/data:/data dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0 /bin/bash -c 'python3 /test/test.py' 2>&1 | tee /home/ubuntu/jetson-containers/logs/20260705_204251/test/13-1_dev_jetson-pytorch-cv_2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-opencv_4.12.0_test.py.txt; exit ${PIPESTATUS[0]}' returned non-zero exit status 1.
➜ jetson-containers git:(master)
I also tried with pytorch 2.7 and opencv 4.10 but i got ffmpeg not found
jetson-containers build --base=dustynv/pytorch:2.7-r36.4.0 --name dev/jetson-pytorch-cv:2.7-r36.4.0 opencv:4.10.0;
Result
...
[11:10:45] [#################-] 12/13 Building ffmpeg (dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg) 11 stages completed in 60m30s at 11:10:45
[+] Building 336.0s (11/13) docker:default
=> [internal] load build definition from 12o13_dev_jetson-pytorch-cv_2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg.Dockerfile 0.0s
=> => transferring dockerfile: 1.01kB 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1-labs 0.3s
=> CACHED docker-image://docker.io/docker/dockerfile:1-labs@sha256:7d49dad25a050e14338ba7028b0460243f9d911dedc160a8fe20c34738fef3af 0.0s
=> [internal] load metadata for docker.io/dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-video-codec-sdk 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 6.15kB 0.0s
=> [stage-0 1/3] FROM docker.io/dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-video-codec-sdk 0.0s
=> [stage-0 1/3] FROM docker.io/dev/jetson-pytorch:pt2.7-cv4.12-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-video-codec-sdk 0.2s
=> [stage-0 2/3] COPY build.sh install.sh /tmp/ffmpeg/ 0.0s
=> [stage-0 3/3] RUN --device=nvidia.com/gpu=all --mount=type=cache,target=/root/.cache/ccache,sharing=locked if command -v ccache >/dev/null 2>&1; then export CMAKE_C_COMPILER_LAUNCHER=cca 325.0s
=> exporting to image 10.2s
=> => exporting layers 10.1s
=> => writing image sha256:e74455784978800a3b48b32f289ddfdae879a844064b3a88f6de68ba8bd09843 0.0s
=> => naming to docker.io/dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg 0.0s
1 warning found (use docker --debug to expand):
- InvalidDefaultArgInFrom: Default value for ARG ${BASE_IMAGE} results in empty or invalid base image name (line 12)
[11:16:21] [#################-] 12/13 Testing ffmpeg (dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg) 11 stages completed in 66m06s at 11:16:21
┌───────────────────────────────────────────────────────────────────────────────────────┐
│ > TESTING dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg │
└───────────────────────────────────────────────────────────────────────────────────────┘
docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia \
--env NVIDIA_DRIVER_CAPABILITIES=all \
--volume /home/ubuntu/jetson-containers/packages/multimedia/ffmpeg:/test \
--volume /home/ubuntu/jetson-containers/data:/data \
dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg \
/bin/bash -c '/bin/bash /test/test.sh'
+ ffmpeg -version
/test/test.sh: line 4: ffmpeg: command not found
[11:16:22] warn =====================================================================================
[11:16:22] warn =====================================================================================
[11:16:22] warn 💣 `jetson-containers build` failed after 3969.3 seconds (66.2 minutes)
[11:16:22] warn Error: Command 'docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia --env NVIDIA_DRIVER_CAPABILITIES=all --volume /home/ubuntu/jetson-containers/packages/multimedia/ffmpeg:/test --volume /home/ubuntu/jetson-containers/data:/data dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg /bin/bash -c '/bin/bash /test/test.sh' 2>&1 | tee /home/ubuntu/jetson-containers/logs/20260705_101012/test/12-1_dev_jetson-pytorch-cv_2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg_test.sh.txt; exit ${PIPESTATUS[0]}' returned non-zero exit status 127.
[11:16:22] warn =====================================================================================
[11:16:22] warn =====================================================================================
[11:16:22] error Failed building: opencv:4.10.0
Traceback (most recent call last):
File "/home/ubuntu/jetson-containers/jetson_containers/build.py", line 150, in <module>
build_container(**vars(args))
File "/home/ubuntu/jetson-containers/jetson_containers/container.py", line 491, in build_container
test_container(container_name, pkg, simulate, build_idx=idx)
File "/home/ubuntu/jetson-containers/jetson_containers/container.py", line 698, in test_container
status = subprocess.run(cmd.replace(_NEWLINE_, ' '), executable='/bin/bash', shell=True, check=True)
File "/usr/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'docker run -t --rm --network=host --privileged --shm-size=8g --runtime=nvidia --env NVIDIA_DRIVER_CAPABILITIES=all --volume /home/ubuntu/jetson-containers/packages/multimedia/ffmpeg:/test --volume /home/ubuntu/jetson-containers/data:/data dev/jetson-pytorch-cv:2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg /bin/bash -c '/bin/bash /test/test.sh' 2>&1 | tee /home/ubuntu/jetson-containers/logs/20260705_101012/test/12-1_dev_jetson-pytorch-cv_2.7-r36.4.0-r36.4.tegra-aarch64-cu126-22.04-ffmpeg_test.sh.txt; exit ${PIPESTATUS[0]}' returned non-zero exit status 127.
➜ jetson-containers git:(master)
How do we have pytorch>2.4 with opencv, ffmpeg and gstreamer for jetpack 6.2?