Skip to content
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

ARM64 Linux Drop GLIBC 2.29+ requirement #26189

Closed
theofficialgman opened this issue Oct 23, 2022 · 11 comments
Closed

ARM64 Linux Drop GLIBC 2.29+ requirement #26189

theofficialgman opened this issue Oct 23, 2022 · 11 comments

Comments

@theofficialgman
Copy link

theofficialgman commented Oct 23, 2022

Description

The new beta version of brave browser (brave/brave-core#15349 by @mherrmann) requires much higher library versions than the amd64 versions

amd64:

Depends: ca-certificates, fonts-liberation, libasound2 (>= 1.0.17), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.17), libcairo2 (>= 1.6.0), libcups2 (>= 1.6.0), libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3, libdbus-1-3 (>= 1.5.12), libdrm2 (>= 2.4.60), libexpat1 (>= 2.0.1), libgbm1 (>= 8.1~0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.9.10) | libgtk-4-1, libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.26), libpango-1.0-0 (>= 1.14.0), libwayland-client0 (>= 1.0.2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.4.4-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>= 0.4.1), libxrandr2, wget, xdg-utils (>= 1.0.2)
Recommends: libu2f-udev, libvulkan1

in particular libc6 (>= 2.17)

arm64:

Pre-Depends: dpkg (>= 1.14.0)
Depends: ca-certificates, fonts-liberation, libasound2 (>= 1.0.17), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.29), libcairo2 (>= 1.6.0), libcups2 (>= 1.6.0), libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3, libdbus-1-3 (>= 1.0.2), libdrm2 (>= 2.4.60), libexpat1 (>= 2.0.1), libgbm1 (>= 8.1~0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.9.10) | libgtk-4-1, libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.26), libpango-1.0-0 (>= 1.14.0), libwayland-client0 (>= 1.0.2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.4.4-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>= 0.4.1), libxrandr2, wget, xdg-utils (>= 1.0.2)
Recommends: libu2f-udev, libvulkan1

in particular libc6 (>= 2.29)

I have not researched in detail your build process but I assume you are probably using the chromium sysroots to build this on and utilizing their re-version glibc scripts to drop the minimum requirements on x86_64. You may need to make a minor edit to the re-version script as it was previously (and might still be) disabled on ARM64 linux due to an issue that google was having with re-versioning for ARM64 chromeOS.

I suggest starting with reading my issue at electron for a more detailed dive: electron/electron#34399

the problematic chromium commit that I referenced: https://chromium.googlesource.com/chromium/src/+/f6901be733e76832721ad7fb8d4d51715df77095

https://bugs.chromium.org/p/chromium/issues/detail?id=1309965#c5

@mherrmann
Copy link

Thank you for letting us know and the links @theofficialgman!

@theofficialgman
Copy link
Author

update on this. looks like chromium has bumped the glibc reversion script to max 2.26 glibc https://chromium-review.googlesource.com/c/chromium/src/+/3938615

so no more more debian 9 for all platforms going forward @mherrmann @martinbutt

@theofficialgman
Copy link
Author

theofficialgman commented Nov 10, 2022

unfortunatly, arm64 symbol re-versioning is still disabled for some reason

https://source.chromium.org/chromium/chromium/src/+/main:build/linux/sysroot_scripts/sysroot-creator.sh;l=395-402

I dropped a comment here to point that out: https://chromium-review.googlesource.com/c/chromium/src/+/3938615/comment/2ebdc8c0_c4d2d8ce/

edit
the dev responded:

thanks for noticing this. I'll try reenabling glibc reversioning on arm64

lets hope this goes well https://chromium-review.googlesource.com/c/chromium/src/+/4021416

@theofficialgman
Copy link
Author

After almost a year of the reversion script being disabled on arm6r Linux, it has finally been re-enabled https://chromium-review.googlesource.com/c/chromium/src/+/4021416

This is in chromium main and will make it's way to release builds in the future.

@theofficialgman
Copy link
Author

theofficialgman commented Jan 5, 2023

the patch has landed in chromium 111

if it is desireable to have it in earlier releases, you will have to request from the chromium team for it to be picked/backported to the older branches

@brave brave deleted a comment from theofficialgman Jan 11, 2023
@mihaiplesa
Copy link
Contributor

Thanks for all the follow-ups @theofficialgman!

We'll be on 111 soon- https://github.com/brave/brave-browser/wiki/Brave-Release-Schedule

@theofficialgman
Copy link
Author

theofficialgman commented Jan 15, 2023

We'll be on 111 soon- https://github.com/brave/brave-browser/wiki/Brave-Release-Schedule

I appreciate the ping, but all that tells me is that you were supposed to be on 111 a week and a half ago

https://github.com/brave/brave-browser/wiki/Brave-Release-Schedule#nightly-channel-migration-dates

Nightly channel migration dates:
Version | Target Chromium | Migration Date
1.49.x | 111 | January 4, 2023

I'm guessing you are all pretty behind the self imposed deadlines since 110 isn't even ready yet brave/brave-core#16324

@mihaiplesa
Copy link
Contributor

@theofficialgman that was for nightly channel, next week we'll be on 111 on all channels which is what matters here.

@mihaiplesa
Copy link
Contributor

This is now done.

@mihaiplesa mihaiplesa added this to the 1.49.x - Release #2 milestone Mar 9, 2023
@theofficialgman
Copy link
Author

theofficialgman commented Mar 9, 2023

1.49.X is still not marked as released yet (still pre-release)

is the release date (supposed to be today) getting pushed back again?

@mihaiplesa
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants