A fresh Orin image carried a stale third-party apt source that made apt-get update fail; with set -e that aborted the install. The packages come from the main Ubuntu repos, so update is now best-effort and install proceeds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
39 lines
1.7 KiB
Bash
Executable File
39 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Installs the build- and run-time packages the node needs. Idempotent: apt is a
|
|
# no-op for what is already there.
|
|
#
|
|
# The set is the same across Jetson generations — only the distro release behind
|
|
# it changes (18.04 -> 22.04), and apt resolves the right versions itself. No
|
|
# GStreamer: the direct preview route encodes no video.
|
|
set -euo pipefail
|
|
|
|
here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
eval "$("$here/detect_platform.sh")"
|
|
|
|
echo ">> Dependances pour JetPack ${JETPACK} (L4T ${L4T}, ${SOC})"
|
|
|
|
# python3 is present on every JetPack image; websockets is the only bridge dep and
|
|
# is pure Python, so it works identically everywhere. Prefer apt's package, fall
|
|
# back to pip when the distro is too old to carry it.
|
|
# Best-effort: a broken third-party source (a stale packagecloud/VS Code repo has
|
|
# been seen on a fresh Orin image) must not abort the whole install — the packages
|
|
# below come from the main Ubuntu repos, which update fine on their own.
|
|
sudo apt-get update -qq || true
|
|
sudo apt-get install -y --no-install-recommends \
|
|
build-essential cmake pkg-config git \
|
|
libusb-1.0-0-dev libudev-dev liblz4-dev libjpeg-turbo8-dev \
|
|
libopencv-dev \
|
|
python3 python3-pip
|
|
# libopencv-dev: the MKV recorder links OpenCV (image handling). liblz4/libjpeg:
|
|
# the preview server. libusb/libudev: the SDK and the K4A wrapper.
|
|
|
|
if ! python3 -c 'import websockets' 2>/dev/null; then
|
|
echo ">> websockets absent — installation via pip"
|
|
# 8.1 is what the Nano runs and what bridge.py was written against; anything
|
|
# >=8 keeps the same asyncio API surface the bridge uses.
|
|
python3 -m pip install --user "websockets>=8,<13" || \
|
|
sudo apt-get install -y python3-websockets
|
|
fi
|
|
|
|
echo ">> Dependances OK"
|