Skip to content

fix(ci): install openssl-devel on arm64 for fluentd openssl gem build#1740

Merged
suyadav1 merged 1 commit into
ci_prodfrom
suyadav/fix-arm64-build
Jul 14, 2026
Merged

fix(ci): install openssl-devel on arm64 for fluentd openssl gem build#1740
suyadav1 merged 1 commit into
ci_prodfrom
suyadav/fix-arm64-build

Conversation

@suyadav1

Copy link
Copy Markdown
Contributor

Problem

The ContainerInsights-MultiArch-MergedBranches Linux image build began failing on the linux/arm64 builder:

gems/openssl-4.0.2/ext/openssl
checking for openssl/ssl.h... no
*** extconf.rb failed ***  OpenSSL library could not be found.
ERROR: gem install failed after 3 attempts: gem install fluentd -v 1.19.3

The same commit (15567a7e4) succeeded on Jul 11 (build 120799) and then failed on Jul 12 and Jul 13 (builds 120843, 120914) with no source change — so the trigger was external (rubygems.org), not this repo.

Root cause

The Linux image resolves its Ruby gem tree fresh at build time (no lockfile). The dependency chain is:

fluentd 1.19.3 → async-http (~> 0.86) → io-stream → openssl

  • io-stream 0.13.1 (2026-06-13) had no runtime dependencies.
  • io-stream 0.13.2 (published 2026-07-12) added openssl >= 3.3 as a runtime dependency.

Once io-stream 0.13.2 shipped, gem install fluentd -v 1.19.3 started pulling and compiling the openssl gem's native extension, which requires the OpenSSL development headers. The amd64 branch of kubernetes/linux/setup.sh already installs openssl-devel, but the arm64 branch installed only zlib-devel, so arm64 failed to find openssl/ssl.h.

Verified from the build logs:

  • Green build 120799 (Jul 11): Successfully installed fluentd-1.19.3 on both arches, openssl gem never installed.
  • Red build 120914 (Jul 13): Successfully installed openssl-4.0.2 on amd64 (has headers), 3x native-extension failure on arm64 (no headers).

Fix

Install openssl-devel in the arm64 branch of kubernetes/linux/setup.sh, matching the amd64 branch.

Notes

The arm64 Linux image build (ContainerInsights-MultiArch-MergedBranches)
started failing when io-stream 0.13.2 (published 2026-07-12) added a
runtime dependency on the openssl gem. fluentd 1.19.3 pulls io-stream
transitively via async-http, so `gem install fluentd` now compiles the
openssl gem's native extension, which needs the OpenSSL dev headers.

The amd64 branch already installs openssl-devel; the arm64 branch did
not, so the build failed with "openssl/ssl.h... no / OpenSSL library
could not be found". Install openssl-devel in the arm64 branch to match.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 78f1ddcc-0547-4854-bb56-799bc455a882
@suyadav1 suyadav1 requested a review from a team as a code owner July 13, 2026 22:53
@suyadav1

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@suyadav1 suyadav1 merged commit 1eabff2 into ci_prod Jul 14, 2026
19 checks passed
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