Skip to content

Add Cloud Agent dev environment install script - #3

Draft
TomKaltz wants to merge 1 commit into
masterfrom
cursor/update-dev-environment-7852
Draft

Add Cloud Agent dev environment install script#3
TomKaltz wants to merge 1 commit into
masterfrom
cursor/update-dev-environment-7852

Conversation

@TomKaltz

@TomKaltz TomKaltz commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

Adds tools/linux/cloud-agent-install.sh, an idempotent bootstrap for the CasparCG Server development environment. It installs the build toolchain + system dependencies and performs a full CMake/Ninja build via the recommended system-CEF path (ppa:casparcg/ppa).

This is the human-runnable equivalent of the install script now backing the Cursor Cloud Agent dashboard-managed environment (which uses an inline copy of the same commands so it does not depend on this unmerged file).

Why

The dashboard-managed dev environment previously lacked build dependencies (no Boost/FFmpeg/Ninja) and its recurring environment build was failing. This script makes the environment build the server end to end on a clean Ubuntu 24.04 (noble) image and encodes two fixes discovered during validation:

  • Pin the GCC toolchain (CC=gcc/CXX=g++, plus -DCMAKE_C(XX)_COMPILER). The base image points the c++ alternative at clang, whose GCC autodetection selects a gcc dir without libstdc++ dev files and fails to link (-lstdc++).
  • Add -Wl,--copy-dt-needed-entries. libavdevice pulls in libcaca, which needs libncursesw symbols; modern ld defaults to --no-copy-dt-needed-entries and leaves those transitive symbols unresolved when linking shell/casparcg.

Validation

  • Ran the script end to end on a clean noble VM: dependencies install, CMake configures (Build Version 2.5.0 Dev), and shell/casparcg links successfully (ldd reports no missing libraries; the binary starts and parses args).
  • Verified idempotence: a second run reuses the existing build cache with no recompilation.
  • Verified the equivalent config in a fresh Cloud Agent environment build (bld-20260805-cbafc016...): fresh checkout of master + full install → [129/129] Linking CXX executable shell/casparcg, build SUCCEEDED.

Note: the environment is dashboard-managed (DB). Merging this PR keeps the committed script in sync, but the saved environment is updated separately via Save in the Cloud Agent environment panel.

Open in Web Open in Cursor 

Co-authored-by: Thomas Kaltz III <tomkaltz@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants