diff --git a/docker/Dockerfile.aarch64 b/docker/Dockerfile.aarch64 index c02c3f6a..b503fcc2 100644 --- a/docker/Dockerfile.aarch64 +++ b/docker/Dockerfile.aarch64 @@ -51,8 +51,8 @@ apt-get update && apt-get install -y \ # Add Isaac apt repository RUN --mount=type=cache,target=/var/cache/apt \ wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - && \ - grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" /etc/apt/sources.list || \ - echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" | tee -a /etc/apt/sources.list \ + grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) legacy-release-3.1" /etc/apt/sources.list || \ + echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) legacy-release-3.1" | tee -a /etc/apt/sources.list \ && apt-get update # Setup Jetson debian repositories @@ -128,13 +128,16 @@ apt-get update && apt-get install -y \ python3-opencv=4.5.4+dfsg-9ubuntu4 \ python3-scipy -# Additional Python dependencies +# Python buildtools RUN python3 -m pip install -U \ Cython \ - pymongo \ wheel \ + ninja + +# Additional Python dependencies +RUN python3 -m pip install -U \ + pymongo \ scikit-learn \ - ninja \ networkx \ "numpy>=1.24.4,<2" \ numpy-quaternion \ @@ -216,7 +219,7 @@ ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/tritonserver/lib" # Current libboost-dev apt packages are < 1.78, so install from tar.gz RUN --mount=type=cache,target=/var/cache/apt \ wget -O /tmp/boost.tar.gz \ - https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz \ + https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz \ && (cd /tmp && tar xzf boost.tar.gz) \ && cd /tmp/boost_1_80_0 \ && ./bootstrap.sh --prefix=/usr \ @@ -242,5 +245,11 @@ apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ RUN python3 -m pip install -U \ jetson-stats +# Patch vulnerabilities from base image +# Upgrade system packages for security patches +RUN --mount=type=cache,target=/var/cache/apt \ +apt-get update && apt-get install -y \ + nghttp2=1.43.0-1ubuntu0.2 + # Store list of packages (must be last) RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/aarch64-end-packages.csv \ No newline at end of file diff --git a/docker/Dockerfile.x86_64 b/docker/Dockerfile.x86_64 index 429d60a4..a591d4ca 100644 --- a/docker/Dockerfile.x86_64 +++ b/docker/Dockerfile.x86_64 @@ -30,8 +30,8 @@ apt-get update && apt-get install -y \ # Add Isaac apt repository RUN --mount=type=cache,target=/var/cache/apt \ wget -qO - https://isaac.download.nvidia.com/isaac-ros/repos.key | apt-key add - && \ - grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" /etc/apt/sources.list || \ - echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) release-3.0" | tee -a /etc/apt/sources.list \ + grep -qxF "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) legacy-release-3.1" /etc/apt/sources.list || \ + echo "deb https://isaac.download.nvidia.com/isaac-ros/release-3 $(lsb_release -cs) legacy-release-3.1" | tee -a /etc/apt/sources.list \ && apt-get update # Fundamentals @@ -105,7 +105,7 @@ RUN python3 -m pip install -U \ flake8-import-order \ flake8-quotes \ gpustat==0.6.0 \ - onnx \ + onnx>=1.17.0 \ pydocstyle \ scikit-learn \ ninja \ @@ -172,5 +172,9 @@ apt-add-repository ppa:mosquitto-dev/mosquitto-ppa \ mosquitto \ mosquitto-clients +# Patch vulnerabilities from base image +# Remove Triton DALI backend +RUN rm -rf /opt/tritonserver/backends/dali + # Store list of packages (must be last) RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/x86_64-end-packages.csv \ No newline at end of file diff --git a/docker/scripts/install-zed-aarch64.sh b/docker/scripts/install-zed-aarch64.sh index 9699d895..fa7298cd 100644 --- a/docker/scripts/install-zed-aarch64.sh +++ b/docker/scripts/install-zed-aarch64.sh @@ -7,7 +7,7 @@ sudo apt-get install --no-install-recommends lsb-release wget less zstd udev sud # Download zed SDK installation RUN file to /tmp directory cd /tmp -wget -q --no-check-certificate -O ZED_SDK_Linux.run +wget -q --no-check-certificate -O ZED_SDK_Linux.run https://stereolabs.sfo2.cdn.digitaloceanspaces.com/zedsdk/4.1/ZED_SDK_Tegra_L4T36.3_v4.1.3.zstd.run +wget -q --no-check-certificate -O ZED_SDK_Linux.run +wget -q --no-check-certificate -O ZED_SDK_Linux.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/l4t36.3/jetsons chmod +x ZED_SDK_Linux.run ; ./ZED_SDK_Linux.run silent skip_od_module skip_python skip_drivers # Symlink required to use the streaming features on Jetson inside a container, based on diff --git a/docker/scripts/install-zed-x86_64.sh b/docker/scripts/install-zed-x86_64.sh index 484babc8..fd63a461 100644 --- a/docker/scripts/install-zed-x86_64.sh +++ b/docker/scripts/install-zed-x86_64.sh @@ -14,13 +14,18 @@ export CUDA_MINOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f2 sudo apt-get update -y || true sudo apt-get install --no-install-recommends lsb-release wget less udev sudo zstd build-essential cmake libpng-dev libgomp1 -y -# TODO: Remove this when zed-ros2-wrapper has a compatible version with ZED_SDK 4.1 (which supports cuda 12.2). CUDA_MAJOR=12 CUDA_MINOR=1 # Download zed SDK installation RUN file to /tmp directory cd /tmp -wget -q -O ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/cu${CUDA_MAJOR}${CUDA_MINOR%.*}/ubuntu${UBUNTU_RELEASE_YEAR} + +ZED_SDK_URL="https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/cu${CUDA_MAJOR}${CUDA_MINOR%.*}/ubuntu${UBUNTU_RELEASE_YEAR}" +if [[ ${ZED_SDK_MINOR} -ge 2 ]]; then + ZED_SDK_URL="https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/cu${CUDA_MAJOR}/ubuntu${UBUNTU_RELEASE_YEAR}" +fi + +wget -q -O ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run ${ZED_SDK_URL} chmod +x ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run ; ./ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run -- silent skip_od_module skip_python skip_cuda # Symlink required for zed SDK, based on