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:
0./util/fs.h:65:30: error: no matching constructor for initialization of 'const std::u8string &' (aka 'const basic_string<char8_t> &')
1 const std::u8string& utf8_str{std::filesystem::path::u8string()};
2 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3/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
4 _LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a)
5 ^
6/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
7 basic_string(const basic_string& __str);
8 ^
9/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
10 basic_string(basic_string&& __str)
11 ^
12/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
13 basic_string(const _CharT* __s) : __r_(__default_init_tag(), __default_init_tag()) {
14 ^
15/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
16 basic_string(initializer_list<_CharT> __il);
17 ^
18/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>'
19 explicit basic_string(const _Tp& __t);
20 ^
21/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
22 _LIBCPP_INLINE_VISIBILITY basic_string()
23 ^
24/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
25 basic_string(const basic_string& __str, const allocator_type& __a);
26 ^
27/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
28 basic_string(basic_string&& __str, const allocator_type& __a);
29 ^
30/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
31 basic_string(const _CharT* __s, const _Allocator& __a);
32 ^
33/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
34 basic_string(const _CharT* __s, size_type __n);
35 ^
36/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
37 basic_string(size_type __n, _CharT __c);
38 ^
39/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
40 explicit basic_string(const _Tp& __t, const allocator_type& __a);
41 ^
42/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
43 basic_string(_InputIterator __first, _InputIterator __last);
44 ^
45/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
46 basic_string(initializer_list<_CharT> __il, const _Allocator& __a);
47 ^
48/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
49 basic_string(const _CharT* __s, size_type __n, const _Allocator& __a);
50 ^
51/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
52 basic_string(size_type __n, _CharT __c, const _Allocator& __a);
53 ^
54/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
55 basic_string(const basic_string& __str, size_type __pos,
56 ^
57/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
58 basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a);
59 ^
60/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
61 basic_string(const basic_string& __str, size_type __pos, size_type __n,
62 ^
63/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
64 basic_string(const _Tp& __t, size_type __pos, size_type __n,
65 ^
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.
For reference, I guess this was fixed in qt 6.7 then?