Skip to content

Install autotools in Alpine Docker builds#101

Merged
szegedi merged 1 commit intomainfrom
add-autotools-to-musl-builds
Mar 23, 2026
Merged

Install autotools in Alpine Docker builds#101
szegedi merged 1 commit intomainfrom
add-autotools-to-musl-builds

Conversation

@szegedi
Copy link
Copy Markdown
Contributor

@szegedi szegedi commented Mar 23, 2026

Summary

  • The rochdev/holy-node-box Alpine images lack autoconf, automake, and libtool
  • Rust crates that build autotools-based C libraries (e.g. libdatadog's libunwind) fail with autoreconf: not found during linuxmusl-* jobs
  • Installs these tools at the start of the Docker entrypoint for Alpine containers (the glibc images already have them)

Context

Discovered via DataDog/libdatadog-nodejs release build failure — the release.yml workflow didn't have the prebuild workaround that build.yml had added. Rather than requiring every consumer to add a prebuild command for common build tools, this makes the Alpine build environment more capable by default.

Same fix was applied to the libddprof-build Docker images in DataDog/libddprof-build#149.

Test plan

  • Verify linuxmusl-* jobs pass for existing projects (autotools install is a no-op if already present)
  • Verify libdatadog-nodejs release builds succeed on musl without a prebuild workaround

Here's CI executions with temporary pin to this branch:
https://github.com/DataDog/action-prebuildify/actions/runs/23437263463?pr=101
https://github.com/DataDog/action-prebuildify/actions/runs/23437263476?pr=101
https://github.com/DataDog/action-prebuildify/actions/runs/23437263480?pr=101

🤖 Generated with Claude Code

@szegedi szegedi requested a review from a team as a code owner March 23, 2026 11:30
The rochdev/holy-node-box Alpine images lack autoconf, automake, and
libtool. Rust crates that build autotools-based C libraries (e.g.
libdatadog's libunwind) fail with "autoreconf: not found" during
linuxmusl-* jobs.

Install these tools at the start of the Docker entrypoint for Alpine
containers. The glibc images already have them.

Fixes DataDog/libdatadog-nodejs release build failures on musl.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@szegedi szegedi force-pushed the add-autotools-to-musl-builds branch 2 times, most recently from f0c48d2 to 2281418 Compare March 23, 2026 12:47
@szegedi szegedi merged commit 287165b into main Mar 23, 2026
185 checks passed
tlhunter added a commit that referenced this pull request Mar 23, 2026
PR #101 unconditionally installs autoconf/automake/libtool in all
Alpine Docker builds. The libtool package causes SIGSEGV in Neon
Alpine tests. Pin to dfb3666 (PR #100) which includes the v3
naming fix without the autotools change.

Consumers that need autotools (e.g. libdatadog-nodejs) already
handle this via the `prebuild` input hook.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@szegedi szegedi mentioned this pull request Mar 23, 2026
@rochdev
Copy link
Copy Markdown
Member

rochdev commented Mar 29, 2026

Should these be baked in the base image to avoid having to re-install them every time?

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.

3 participants