New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: don't require glibc 2.29+ on linux arm64 builds #34491
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Thank you! |
@jkleinsc https://bugs.chromium.org/p/chromium/issues/detail?id=1309965 addresses the issue by disabling the newer glibc symbols, I would recommend to backport the version rewriter script to our sysroot creator repo. |
@deepak1556 the latest sysroots that we generated have those script changes and it in fact appears that the latest revision, https://chromium.googlesource.com/chromium/src/+/f6901be733e76832721ad7fb8d4d51715df77095, explicitly disables symbol reversioning for ARM64, which is probably the source of the issue and the reason we don't see it happening on other arches. The reason for disabling symbol reversioning for ARM64 is as follows per the comments:
|
Release Notes Persisted
|
I have automatically backported this PR to "19-x-y", please check out #34502 |
I have automatically backported this PR to "20-x-y", please check out #34503 |
Sorry I was looking at the The upstream CL was reverted to avoid compile failures for their ChromeOS arm64 bot. What happens if we run the reversion script for arm64, if there are no compile errors then we should be good to keep the change in. I will setup a branch to verify this. |
I have tested the artifacts on arm64 linux bionic and can confirm it does work now (everything linked to glibc 2.17 only) https://app.circleci.com/pipelines/github/electron/electron/54402/workflows/fb4abab7-0486-4a4b-96ac-01bf197fa1b8/jobs/1243065/artifacts I can test deepak1556's branch if necessary as well once that gets made |
@theofficialgman can you try the arm64 builds from https://app.circleci.com/pipelines/github/electron/electron/54496/workflows/ac4ef834-90d8-46a1-9228-69ce59a36f21/jobs/1245054/artifacts which uses bullseye for sysroot with reversioned libm symbols. Thanks! |
@deepak1556 |
Thanks for confirming! |
Is there a process to request a new patch release for the v19 major version? I see this has been backported to the |
I would also like this released @sudowoodo-release-bot[bot] generated the artifacts for 19.0.6 but hasn't published them |
* build: use sid sysroot for linux arm64
Description of Change
When we updated our sysroots in #33557 as part of the Chromium roll to 102.0.4989.0, it introduced a new dependency in linux arm64 builds to use glibc 2.29 or greater. Since there are supported versions of linux distros (eg Ubuntu 18.04) that do not have access to this version of glibc, Electron no longer works in those versions.
This PR reverts the sysroot for linux arm64 only to the older sysroot as this issue only affects linux arm64 (linux x64 and armv7 are unaffected).
Checklist
npm test
passesRelease Notes
Notes: Fixed linux arm64 builds to not require glibc 2.29+