Skip to content

feat(ci): build shared-OpenSSL binaries for ppc64le and s390x MONGOSH-1681#2779

Open
ivandevp wants to merge 2 commits into
mainfrom
MONGOSH-1681-shared-openssl-ppc64le-s390x
Open

feat(ci): build shared-OpenSSL binaries for ppc64le and s390x MONGOSH-1681#2779
ivandevp wants to merge 2 commits into
mainfrom
MONGOSH-1681-shared-openssl-ppc64le-s390x

Conversation

@ivandevp

@ivandevp ivandevp commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Adds build_linux_ppc64le/s390x_openssl11/openssl3 build variants and matching e2e test tasks, mirroring the existing x64/arm64 setup, so shared-OpenSSL mongosh binaries exist on these architectures too.

Also fixes two issues surfaced only when compiling on the ppc64le host: LD_LIBRARY_PATH leaking from the shared-OpenSSL build into the FLE addon's git-clone subprocess (breaking git's Kerberos auth), and OpenSSL 3.0.5's make install failing to build HTML docs due to a missing Perl module (fixed by using install_sw instead, which only installs the libs/headers we actually need).

Verified with Evergreen patches covering the new variants individually, then the full build matrix (all existing + new variants) to confirm no regressions: https://spruce.corp.mongodb.com/version/6a5f83268ce8f70007bf1346

…-1681

Adds build_linux_ppc64le/s390x_openssl11/openssl3 build variants and
matching e2e test tasks, mirroring the existing x64/arm64 setup.

Also fixes two issues surfaced only on the ppc64le host: LD_LIBRARY_PATH
leaking from the shared-OpenSSL build into the FLE addon's git-clone
subprocess (breaking git's Kerberos auth), and OpenSSL 3.0.5's `make
install` failing to build HTML docs due to a missing Perl module (fixed
by using `install_sw` instead, which only installs the libs/headers we
actually need).
@ivandevp
ivandevp requested a review from a team as a code owner July 21, 2026 19:08
@ivandevp
ivandevp requested a review from paula-stacho July 21, 2026 19:08
Comment on lines +18 to +24
// LD_LIBRARY_PATH may point at a custom-built shared OpenSSL used for the
// Node.js compile step (see .evergreen/compile-artifact.sh); this script
// only clones a git repo and builds the FLE addon, and git subprocesses
// (git-remote-https) can fail to resolve symbols against that OpenSSL on
// some platforms, so we don't want it inherited here.
const envWithoutLdLibraryPath = { ...process.env };
delete envWithoutLdLibraryPath.LD_LIBRARY_PATH;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +62 to +65
# install_sw (not install) skips building/installing HTML man pages via
# mkpod2html.pl, which can fail if the host's Perl lacks required modules;
# we only need the libs/headers here.
make -j12 install_sw install_ssldirs

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codeowners-service-app

Copy link
Copy Markdown

Assigned bsradcliffe for team mongosh-developers because paula-stacho is out of office.

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.

1 participant