32 lines
1.7 KiB
Bash
32 lines
1.7 KiB
Bash
# Based on https://github.com/stereolabs/zed-docker
|
|
|
|
# Extract ubuntu release year from /etc/lsb-release
|
|
# Expects "/etc/lsb-release" to contain a line similar to "DISTRIB_RELEASE=20.04"
|
|
export UBUNTU_RELEASE_YEAR="$(grep -o -P 'DISTRIB_RELEASE=.{0,2}' /etc/lsb-release | cut -d= -f2)"
|
|
|
|
# Extract cuda major and minor version from nvcc --version
|
|
# Expects "nvcc --version" to contain a line similar to "release 11.8"
|
|
export CUDA_MAJOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f1 | cut -d ' ' -f3)"
|
|
export CUDA_MINOR="$(nvcc --version | grep -o -P ' release .{0,4}' | cut -d. -f2)"
|
|
|
|
|
|
# Download dependencies for zed SDK installation RUN file
|
|
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}
|
|
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
|
|
# https://github.com/stereolabs/zed-docker/blob/fd514606174d8bb09f21a229f1099205b284ecb6/4.X/ubuntu/devel/Dockerfile#L24
|
|
sudo ln -sf /lib/x86_64-linux-gnu/libusb-1.0.so.0 /usr/lib/x86_64-linux-gnu/libusb-1.0.so
|
|
|
|
# Cleanup
|
|
rm ZED_SDK_Linux_Ubuntu${UBUNTU_RELEASE_YEAR}.run
|
|
sudo rm -rf /var/lib/apt/lists/* |