Open dg0yt opened 1 week ago
In gettext libintl, the mempcpy related errors also include:
[..]gettext-runtime/intl/dcigettext.c:1723:1: error: static declaration of 'mempcpy' follows non-static declaration
Ooh, if vcpkg's CI has issues that gives us a great place to go look at the scope of the problem. Thanks! I should remember to try that whenever I'm making ambitious changes in the future.
We'll have a look and see what can be done. My gut says that we'll re-hide the stuff that's causing problems for r28 and work on upstreaming fixes. If it were a shorter list of projects I'd say we should just fix those projects and ship r28 as-is, but if it's hit a non-trivial number of projects just in vcpkg, that's a lot of patches to upstream, and a lot of package updates that developers would need to take to get those fixes.
A complete rollback is an option, but it's sort of the last resort. For the reasons mentioned in the changelog, this is a step in the right direction that we want to take, so I'd like to see us make progress wherever we can do so safely. I'm okay with gradual progress though, so if we need to re-hide the stuff that's broadly polyfilled already we can do that to avoid breaks while we fix the various open source projects to be compatible with the change.
Description
This is in response to the r28 beta1 release notes.
A test build in vcpkg CI (which uses android 21) shows a lot of breakage related to
__INTRODUCED_IN()
with polyfills from gnulib. There is no full picture yet because the build error cascade starts early. The first hit ismempcpy
in GNU libiconv. I added a patch to rename the polyfill, but the next failures is already gettext-libintl.In the non-gnulib group, openssl is affected, removing many ports from the build. For poppler, I assume that GNU libiconv used to be the polyfill, but I didn't verify that. "libiconv as a polyfill" might be a broader pattern.
I grepped the arm64 logs for
__INTRODUCED_IN
. Transformed and compressed:Patching gnutext-libintl would probably add many more. (All those packages build with NDK r26. NDK r27 is still blocked by its bugs.)
Affected versions
r28
Canary version
beta1
Host OS
Linux
Host OS version
vcpkg CI image
Affected ABIs
arm64-v8a
Build system
Other (specify below)
Other build system
No response
minSdkVersion
21
Device API level
No response