Skip to content

Conversation

robertkirkman
Copy link
Contributor

@robertkirkman robertkirkman commented Sep 7, 2025

  • Includes revision-bumps of all reverse dependencies; only two packages, apache-orc and libosmpbf, have build failures because of newer libprotobuf.

  • protobuf-static is also bumped. It is an orphaned package and there have been, in the past several months since tree-wide: migrate all reverse dependencies of protobuf-static to libprotobuf #24131, no known cases of anyone encountering any issues for which they need protobuf-static anymore. This strongly suggests that the new libandroid-stub invented by twaik that I helped with chore(main/libandroid-stub): turn libandroid-stub into library-wrapper #23712 is probably a completely successful workaround in Android to this upstream libprotobuf issue: Why libprotobuf.so causing apk crash . protocolbuffers/protobuf#5254. However, because the original bug is very rare and only affects a very few Android devices, and among those few Android device where it is reproducible, there are some subtle variations in the content of the protobuf error message, for the time being, I think it is probably a good idea to keep protobuf-static available, and eventually, maybe in 1 year from now, if still nobody has ever needed protobuf-static at that time, it can be completely disabled.

  • in .gihub/workflows/packages.yml, unset NDK and ANDROID_HOME if "$DOCKER_BUILD" == 'false'

    • Kind of partly reverts 84ba1d6 and 5fd7eb6

    • Unfortunately, those commits appear to break the build of aapt in GitHub Actions any time that it is built in the same CI run as another package if that other package is in big-pkgs.list.

    • Error message: cp: cannot stat '/usr/local/lib/android/sdk/platforms/android-35/android.jar': No such file or directory

    • Lines of code that are related:

: "${ANDROID_HOME:="${HOME}/lib/android-sdk-$TERMUX_SDK_REVISION"}"

cp $ANDROID_HOME/platforms/android-35/android.jar .

- Includes revision-bumps of all reverse dependencies; only one package, `apache-orc`, has a build failure because of newer `libprotobuf`. Its patch is copied and pasted from this PR: apache/orc#2316

- `protobuf-static` is also bumped. It is an orphaned package and there have been, in the past several months since
  termux#24131, **no known cases of anyone encountering any issues for which they need `protobuf-static` anymore**. This strongly suggests that the **new `libandroid-stub` invented by twaik** that I helped with termux#23712 is probably a completely successful workaround in Android to this upstream `libprotobuf` issue: protocolbuffers/protobuf#5254. However, because the original bug is very rare and only affects a very few Android devices, and among those few Android device where it is reproducible, there are some subtle variations in the content of the protobuf error message, for the time being, I think it is probably a good idea to keep `protobuf-static` unchanged, and eventually, maybe in 1 year from now, if still nobody has ever needed `protobuf-static` at that time, it can be completely disabled.
…UILD" == 'false'`

- Kind of reverts termux@84ba1d6 and termux@5fd7eb6

- Unfortunately, those commits appear to break the build of `aapt` in GitHub Actions any time that it is built in the same CI run as any other package that is in `big-pkgs.list`.

- Error message: `cp: cannot stat '/usr/local/lib/android/sdk/platforms/android-35/android.jar': No such file or directory`

- Lines of code that are related:

https://github.com/termux/termux-packages/blob/aa6026e520380b89d479987d763d003425b13b11/scripts/properties.sh#L327

https://github.com/termux/termux-packages/blob/aa6026e520380b89d479987d763d003425b13b11/packages/aapt/build.sh#L238
…es.sh` to fix build for 32-bit targets with `libprotobuf` 32.0
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