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

depends: qt build for HOST=aarch64-linux-android is broken for NDK 22+ #22074

Closed
hebasto opened this issue May 26, 2021 · 6 comments
Closed

depends: qt build for HOST=aarch64-linux-android is broken for NDK 22+ #22074

hebasto opened this issue May 26, 2021 · 6 comments

Comments

@hebasto
Copy link
Member

hebasto commented May 26, 2021

On master (456c8d6):

$ echo $ANDROID_SDK 
/home/hebasto/Android/Sdk
$ make -C depends qt_configured HOST=aarch64-linux-android ANDROID_API_LEVEL=28 ANDROID_NDK=$ANDROID_SDK/ndk/22.0.7026061 ANDROID_TOOLCHAIN_BIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin
...
> clang++: error: no such file or directory: '/home/hebasto/Android/Sdk/ndk/22.0.7026061/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.28'
...

I seems related to this change:

The legacy libc++ linker scripts in <NDK>/sources/cxx-stl/llvm-libc++ have been removed. The linkers scripts in the toolchain should be used instead as described by the Build System Maintainers Guide.

@hebasto
Copy link
Member Author

hebasto commented May 26, 2021

cc @icota

@icota
Copy link
Contributor

icota commented May 28, 2021

I think we should wait until r23 is released before taking any action. r21 is an LTS release and r22 is not

@hebasto
Copy link
Member Author

hebasto commented May 28, 2021

I think we should wait until r23 is released before taking any action. r21 is an LTS release and r22 is not

Fair enough.

Closing for now.

@hebasto hebasto closed this as completed May 28, 2021
@hebasto
Copy link
Member Author

hebasto commented Jun 24, 2021

@fanquake
Copy link
Member

I think we should wait until r23 is released before taking any action. r21 is an LTS release and r22 is not

I think if we'd like to keep supporting Android builds for 23.0, someone should look into making Qt and the Android build work with r22. I can't imagine we are going to block migrating to std::filesystem based on our Qt version being too old, to support building against a new enough version of the Android NDK to support std::filesystem. I'd rather just drop the Android build until we've moved on to a newer version of Qt.

I'd also assume that any of the Qt patching and build system changes that are going to be required will be very similar for r22 and r23 in any case (r23 support just being additional changes on top of r22 if any).

@icota
Copy link
Contributor

icota commented Jul 4, 2021

Makes sense. @hebasto reopen?

@hebasto hebasto reopened this Jul 4, 2021
sidhujag pushed a commit to syscoin/syscoin that referenced this issue Jul 23, 2021
acaac6e ci: Bump Android NDK to r22 which supports std::filesystem (Hennadii Stepanov)
cac7890 build: Add support for Android NDK r22+ (Hennadii Stepanov)

Pull request description:

  This is required to support [`std::filesystem`](https://github.com/android/ndk/wiki/Changelog-r22#changes) on Android (see bitcoin#20744).

  Fixes bitcoin#22074.

ACKs for top commit:
  icota:
    re-tACK bitcoin@acaac6e

Tree-SHA512: ecbec374ee590c4cb30012210f1422d469e7e8b68989f9eb53d36b5feee150d31e6bd10e1fc4a2056fbf4f8f8513e435b446e5feaf21a3a4d09dfc561fb22e73
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants