Update to Android NDK r25
Categories
(GeckoView :: General, task, P2)
Tracking
(firefox122 fixed)
Tracking | Status | |
---|---|---|
firefox122 | --- | fixed |
People
(Reporter: cpeterson, Assigned: m_kato)
References
()
Details
(Whiteboard: [geckoview:m113?], [wptsync upstream])
Attachments
(1 file)
We updated to Android NDK r21d LTS in 2021 (bug 1581971). We're now three LTS versions out of date:
- r21e LTS (January 2021)
- r23 LTS (August 2021)
- r25 LTS (July 2022)
https://developer.android.com/ndk/downloads/revision_history
Reporter | ||
Updated•1 year ago
|
Comment 1•1 year ago
|
||
This makes a bunch of sense to me!
Reporter | ||
Comment 2•1 year ago
|
||
Moving this bug to the GeckoView product so the Android team can add this task to their backlog. They won't see this bug here in the Firefox Build System product.
Comment 3•1 year ago
|
||
Unfortunately, there are difficulties getting compiler-rt to build with recent NDKs.
Assignee | ||
Comment 4•1 year ago
•
|
||
NDK 22+ has a lot of changes.
- Setting Android API is moved from
__ANDROID_API__
to--target option
- sysroot directory structures and include/lib path are changed (ex. from NDK/sysroot to NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot/)
- etc
So we need a lot of changes for android-ndk.configure etc if we upgrade NDK.
Updated•1 year ago
|
Assignee | ||
Comment 5•1 year ago
•
|
||
And another big problem is NDK 24+ removes GNU as. Our code still uses -no-integrated-as
for third party libraries. So no way to build some library when using NDK 24+.
Reporter | ||
Comment 6•1 year ago
|
||
We need to update to NDK r23 or r25 (and Android API 25) before we can update to the new rust 1.68. These release notes for rust 1.68 say:
If a project uses NDK r22 or older it will need to be updated to use r23 or newer.
https://blog.rust-lang.org/2023/01/09/android-ndk-update-r25.html
Assignee | ||
Comment 7•1 year ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #6)
We need to update to NDK r23 or r25 (and Android API 25) before we can update to the new rust 1.68. These release notes for rust 1.68 say:
If a project uses NDK r22 or older it will need to be updated to use r23 or newer.
https://blog.rust-lang.org/2023/01/09/android-ndk-update-r25.html
Chris, actually, we still supports Android 4.1 (API 16) for GeckoView Lite. Should we move minimal version to 19 on GeckoView Lite?
Assignee | ||
Comment 8•1 year ago
|
||
We are still using -no-integrated-as
in the following libraries.
- gfx/cairo/libpixman/src/
- media/libtheora/
- media/openmax_dl/dl/
libpixman has a patch for aarch64 (https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/71), but no arm32 patch. libtheora has to convert some instructions to official instructions (I don't know how to merge a fix to upstream). openmax_dl has no patch, but Chromium is no longer used (https://bugs.chromium.org/p/chromium/issues/detail?id=917355) due not to fast.
Reporter | ||
Comment 9•1 year ago
|
||
(In reply to Makoto Kato [:m_kato] from comment #7)
Chris, actually, we still supports Android 4.1 (API 16) for GeckoView Lite. Should we move minimal version to 19 on GeckoView Lite?
Yes, we also need to update GeckoView's minimum API level to at least 19 before we can update to rust 1.68. I filed bug 1820295 for that work.
Assignee | ||
Comment 10•1 year ago
|
||
NDK 25 supports API 19+ only, So I move bug 1820295 dependency to "Depends on:" field.
Comment 11•1 year ago
|
||
This bug has dependencies that only apply to NDK r25+. Let's make this bug about r25+. I'll file a separate bug for r23, which is a more realistic target on the short term.
Reporter | ||
Updated•1 year ago
|
Reporter | ||
Updated•1 year ago
|
Assignee | ||
Updated•10 months ago
|
Reporter | ||
Comment 12•8 months ago
|
||
NDK r26 LTS is now available. Should we resolve this bug as WONTFIX and jump from r23c to r26 in bug 1822171? Or is there value in updating from r23c to r25c before updating to r26? Now that r26 is available and the new LTS, r25 is EOL'd.
Assignee | ||
Comment 13•7 months ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #12)
NDK r26 LTS is now available. Should we resolve this bug as WONTFIX and jump from r23c to r26 in bug 1822171? Or is there value in updating from r23c to r25c before updating to r26? Now that r26 is available and the new LTS, r25 is EOL'd.
WebRTC (and Chromium) doesn't support NDK r26 yet. See https://github.com/android/ndk/issues/1751 for android_support.
Assignee | ||
Comment 14•7 months ago
|
||
Comment 15•7 months ago
|
||
Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/70ea263bccbf Upgrade NDK to r25c. r=geckoview-reviewers,owlish,glandium
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/43333 for changes under testing/web-platform/tests
Comment 17•7 months ago
|
||
bugherder |
Upstream PR merged by moz-wptsync-bot
Description
•