From 16205935791b3fb9caea56e284ad3501ea838fdc Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 28 May 2026 10:50:12 +0100 Subject: [PATCH] setup: include build-essential in default packages The default `holoscan setup` package list installed `ninja-build` but no C/C++ compiler, so on stripped bases like `nvcr.io/nvidia/cuda:12.9.1-base-ubuntu24.04` cmake immediately failed with `No CMAKE_C_COMPILER could be found` the moment a downstream project tried to configure (caught in holohub Jenkins build #484). Add `build-essential` to the default list so the same `holoscan setup` that already provisions ninja/cmake/python-dev also leaves behind a working compiler. The conditional inside `install_packages_if_missing` makes this a no-op on bases that already ship gcc (SDK images, full Ubuntu desktop images, etc.). Signed-off-by: Wenqi Li --- src/holoscan_cli/commands/setup_cmd.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/holoscan_cli/commands/setup_cmd.py b/src/holoscan_cli/commands/setup_cmd.py index 12e4b6c0..9e17561b 100644 --- a/src/holoscan_cli/commands/setup_cmd.py +++ b/src/holoscan_cli/commands/setup_cmd.py @@ -83,8 +83,21 @@ def handle_setup(cli, args: argparse.Namespace) -> None: sys.exit(0) if not args.scripts: + # `build-essential` pulls in gcc/g++/make — without it, CUDA base + # images (e.g. `nvcr.io/nvidia/cuda:*-base-*`) ship with `ninja-build` + # but no compiler, so cmake fails with `No CMAKE_C_COMPILER could + # be found` the moment a downstream project tries to configure. install_packages_if_missing( - ["wget", "xvfb", "git", "unzip", "ffmpeg", "ninja-build", "libv4l-dev"], + [ + "build-essential", + "wget", + "xvfb", + "git", + "unzip", + "ffmpeg", + "ninja-build", + "libv4l-dev", + ], dry_run=args.dryrun, )