mirror of
https://github.com/aaddrick/claude-desktop-debian.git
synced 2026-05-17 00:26:21 +03:00
Two complementary changes that close the silent-failure path surfaced during testing for #401. 1. install_node_pty: when `npm install node-pty` fails, abort the build with an explicit error message that names the likely cause (missing C/C++ toolchain or python3) and the per-distro fix command. Previously the function printed a one-line warning and continued, which left pty_src_dir empty, skipped the entire copy block, and shipped the upstream Windows node-pty binaries unchanged — exactly the failure mode in #401. 2. check_dependencies: add gcc, g++, make, python3 to the dependency check so the build environment is auto-provisioned before install_node_pty runs (build-essential on Debian/Ubuntu, gcc / gcc-c++ / make / python3 on Fedora). Skipped when --node-pty-dir is set (Nix and explicit overrides bring their own pre-built node-pty). Together: the dep check makes the failure rare, and the install_node_pty abort makes the rare failure obvious instead of silent. Verified two ways: - Isolated test: forced npm to a fake binary that exits 1, called install_node_pty, confirmed exit code 1, error message contains the Debian/Fedora install hints, and the staging copy block did not run. - Full deb build: ran build.sh in an ubuntu:24.04 container with no pre-installed compilers (only ca-certificates, wget, sudo, nodejs, npm). check_dependencies ran `apt install ... build-essential` automatically; npm install node-pty subsequently compiled cleanly; shipped pty.node is ELF 64-bit LSB shared object, x86-64.