The android CI task fails because the embedded libc++ in the NDK is too old.
Can it be bumped?
The android CI task fails because the embedded libc++ in the NDK is too old.
Can it be bumped?
Reference:
./util/fs.h:65:30: error: no matching constructor for initialization of 'const std::u8string &' (aka 'const basic_string<char8_t> &')
const std::u8string& utf8_str{std::filesystem::path::u8string()};
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:794:40: note: candidate constructor not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'const std::basic_string<char8_t>::allocator_type' (aka 'const std::allocator<char8_t>') for 1st argument
_LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a)
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:801:5: note: candidate constructor not viable: no known conversion from 'basic_string<char, char_traits<char>, allocator<char>>' to 'const basic_string<char8_t, char_traits<char8_t>, allocator<char8_t>>' for 1st argument
basic_string(const basic_string& __str);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:806:5: note: candidate constructor not viable: no known conversion from 'basic_string<char, char_traits<char>, allocator<char>>' to 'basic_string<char8_t, char_traits<char8_t>, allocator<char8_t>>' for 1st argument
basic_string(basic_string&& __str)
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:819:5: note: candidate constructor template not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'const char8_t *' for 1st argument
basic_string(const _CharT* __s) : __r_(__default_init_tag(), __default_init_tag()) {
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:870:5: note: candidate constructor not viable: no known conversion from 'std::string' (aka 'basic_string<char>') to 'initializer_list<char8_t>' for 1st argument
basic_string(initializer_list<_CharT> __il);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:856:18: note: candidate template ignored: substitution failure [with _Tp = std::basic_string<char>]: no member named '_EnableIfImpl' in 'std::_MetaBase<false>'
explicit basic_string(const _Tp& __t);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:791:31: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
_LIBCPP_INLINE_VISIBILITY basic_string()
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:802:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
basic_string(const basic_string& __str, const allocator_type& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:814:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
basic_string(basic_string&& __str, const allocator_type& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:829:9: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
basic_string(const _CharT* __s, const _Allocator& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:832:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
basic_string(const _CharT* __s, size_type __n);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:836:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
basic_string(size_type __n, _CharT __c);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:860:18: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
explicit basic_string(const _Tp& __t, const allocator_type& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:864:9: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
basic_string(_InputIterator __first, _InputIterator __last);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:872:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
basic_string(initializer_list<_CharT> __il, const _Allocator& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:834:5: note: candidate constructor not viable: requires 3 arguments, but 1 was provided
basic_string(const _CharT* __s, size_type __n, const _Allocator& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:840:9: note: candidate constructor template not viable: requires 3 arguments, but 1 was provided
basic_string(size_type __n, _CharT __c, const _Allocator& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:845:5: note: candidate constructor not viable: requires at least 2 arguments, but 1 was provided
basic_string(const basic_string& __str, size_type __pos,
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:867:9: note: candidate constructor template not viable: requires 3 arguments, but 1 was provided
basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a);
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:842:5: note: candidate constructor not viable: requires at least 3 arguments, but 1 was provided
basic_string(const basic_string& __str, size_type __pos, size_type __n,
^
/ci_container_base/depends/SDKs/android/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/c++/v1/string:850:9: note: candidate constructor template not viable: requires at least 3 arguments, but 1 was provided
basic_string(const _Tp& __t, size_type __pos, size_type __n,
^
Clang 14.0.6 (NDK r25b).
Sure, but the issue is the libc++, not clang. A older libc++ is included in r25, see https://github.com/android/ndk/issues/1530#issuecomment-1659055600
Clang 14.0.6 (NDK r25b).
Sure, but the issue is the libc++, not clang. A older libc++ is included in r25, see android/ndk#1530 (comment)
Right. I mean, ~even the latest Qt~ the Qt 5.15 codebase cannot be compiled with NDK > 25.
Let's continue discussion in https://github.com/bitcoin/bitcoin/pull/30049
For reference, I guess this was fixed in qt 6.7 then?