Skip to content

Commit

Permalink
Remove ZED SDK Dependencies
Browse files Browse the repository at this point in the history
This brings our docker image size down from 24.7GB to 9.75GB.
  • Loading branch information
Purg committed Oct 17, 2024
1 parent 947db76 commit 2e7f8c5
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 71 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,3 @@
path = ros/rosbag2
url = https://github.com/ros2/rosbag2.git
branch = foxy-future
[submodule "ros/zed-ros2-wrapper"]
path = ros/zed-ros2-wrapper
url = https://github.com/stereolabs/zed-ros2-wrapper.git
53 changes: 27 additions & 26 deletions docker/workspace-build/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,32 +53,33 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
RUN echo "source /etc/bash_completion" >> ~/.bashrc \
&& echo "source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash" >> ~/.bashrc

# Acquire and install NVIDIA CUDA 12.5
RUN --mount=type=cache,target=/root/nvidia,sharing=locked \
wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run \
--no-verbose -c -O /root/nvidia/cuda_12.5.0_555.42.02_linux.run \
&& chmod +x /root/nvidia/cuda_12.5.0_555.42.02_linux.run \
&& /root/nvidia/cuda_12.5.0_555.42.02_linux.run --silent --toolkit
ENV PATH=/usr/local/cuda-12.5/bin:${PATH}
ENV LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:${LD_LIBRARY_PATH}

# Install ZED SDK and dependencies.
# We are skipping the python installation here as the pacakge version has been
# manually deduced and added to our poetry configuration to allow for its
# depedencies to be resolved along side everything else we use.
RUN --mount=type=cache,target=/root/zed,sharing=locked \
--mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt install zstd \
&& wget https://download.stereolabs.com/zedsdk/4.1/cu121/ubuntu20 \
--no-verbose -c -O /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
&& chmod +x /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
&& /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
--quiet \
--target /root/zed/install \
-- \
--silent \
--skip_python
## Acquire and install NVIDIA CUDA 12.5
## * This is required for the ZED SDK installation.
#RUN --mount=type=cache,target=/root/nvidia,sharing=locked \
# wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run \
# --no-verbose -c -O /root/nvidia/cuda_12.5.0_555.42.02_linux.run \
# && chmod +x /root/nvidia/cuda_12.5.0_555.42.02_linux.run \
# && /root/nvidia/cuda_12.5.0_555.42.02_linux.run --silent --toolkit
#ENV PATH=/usr/local/cuda-12.5/bin:${PATH}
#ENV LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:${LD_LIBRARY_PATH}
#
## Install ZED SDK and dependencies.
## We are skipping the python installation here as the pacakge version has been
## manually deduced and added to our poetry configuration to allow for its
## depedencies to be resolved along side everything else we use.
#RUN --mount=type=cache,target=/root/zed,sharing=locked \
# --mount=type=cache,target=/var/cache/apt,sharing=locked \
# --mount=type=cache,target=/var/lib/apt,sharing=locked \
# apt install zstd \
# && wget https://download.stereolabs.com/zedsdk/4.1/cu121/ubuntu20 \
# --no-verbose -c -O /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
# && chmod +x /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
# && /root/zed/ZED_SDK_Ubuntu20_cuda12.1_v4.1.2.zstd.run \
# --quiet \
# --target /root/zed/install \
# -- \
# --silent \
# --skip_python

# For the demo-ui
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
Expand Down
41 changes: 8 additions & 33 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,14 @@ tcn-hpl = {path = "python-tpl/TCN_HPL", develop = true}
# Yolo v7 object detection
yolov7 = {path = "python-tpl/yolov7", develop = true}

# ZED SDK Python Package
# Deduced from a manual installation of the ZED SDK, however the installation
# script uses the `--ignore-installed` option for `pip install`, which clobbers
# transitive dependency requirements of other packages specified here.
# Including the known wheel via URL is our best option to avoid this issue.
# This will need to be updated (or removed) if we change our platform or SDK
# version used.
pyzed = {url = "https://download.stereolabs.com/zedsdk/4.1/whl/linux_x86_64/pyzed-4.1-cp38-cp38-linux_x86_64.whl"}
## ZED SDK Python Package
## Deduced from a manual installation of the ZED SDK, however the installation
## script uses the `--ignore-installed` option for `pip install`, which clobbers
## transitive dependency requirements of other packages specified here.
## Including the known wheel via URL is our best option to avoid this issue.
## This will need to be updated (or removed) if we change our platform or SDK
## version used.
#pyzed = {url = "https://download.stereolabs.com/zedsdk/4.1/whl/linux_x86_64/pyzed-4.1-cp38-cp38-linux_x86_64.whl"}

[tool.poetry.dev-dependencies]
ipython = "*"
Expand Down
1 change: 0 additions & 1 deletion ros/zed-ros2-wrapper
Submodule zed-ros2-wrapper deleted from 316101

0 comments on commit 2e7f8c5

Please sign in to comment.