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>
30 lines
870 B
Bash
Executable File
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"
|