Files
AngePierreandClaude Opus 5 c167c836e6 Portable Ithaca capture node: one install for every Jetson
Extract the install that was applied by hand to the Jetson Nano into a single
checkout that builds itself for whatever Jetson it lands on.

The two nodes on the rig share no JetPack — tegra210 caps at 4, tegra234 needs
5+ — so nothing binary is portable between them. The source and the procedure
are: install.sh detects the platform (L4T / JetPack / SoC), installs deps,
builds the OrbbecSDK and the preview server from source locally, and generates
a per-user config and systemd unit. The tested bridge.py ships verbatim; all
machine-specific paths live in the generated config, so it stays unmodified —
its one hardcoded path is made home-relative.

The retired GStreamer/RTSP target is dropped: the direct route encodes no video.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 15:57:15 +02:00

30 lines
870 B
Bash
Executable File

#!/usr/bin/env bash
# Builds ithaca_rgbd_server against the SDK build_sdk.sh located. Prints nothing
# but the binary path on success.
set -euo pipefail
here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
repo=$(cd "$here/.." && pwd)
# SDK locations come from build_sdk.sh (or the environment, when a caller already
# knows them).
if [[ -z "${OB_SDK_ROOT:-}" || -z "${OB_SDK_BUILD:-}" ]]; then
eval "$("$here/build_sdk.sh")"
fi
build="$repo/server/build"
mkdir -p "$build"
(
cd "$build"
cmake "$repo/server" \
-DCMAKE_BUILD_TYPE=Release \
-DOB_SDK_ROOT="$OB_SDK_ROOT" \
-DOB_SDK_BUILD="$OB_SDK_BUILD" \
-DOB_SDK_GENERATED="${OB_SDK_GENERATED:-$OB_SDK_ROOT/build/src/generated}" >&2
make -j"$(nproc)" >&2
)
bin="$build/ithaca_rgbd_server"
[[ -x "$bin" ]] || { echo "build failed: $bin absent" >&2; exit 1; }
echo "$bin"