<div dir="ltr"><div dir="ltr"><div dir="ltr">I've created a task to make the build work with Qt 5.15: <a href="https://phabricator.kde.org/T15026">https://phabricator.kde.org/T15026</a></div><div>It won't be for the 2.0 version, but probably the next major one (if anyone wants to take a look, feel free :)).</div><div><br></div><div>Johnny</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 17 nov. 2021 à 08:46, Aleksander Kamenik <<a href="mailto:aleksander.kamenik@gmail.com">aleksander.kamenik@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Went off list accidentally for a while.<br>
<br>
Anyway, as always it was something simple. I was using qt 5.15.x<br>
(which worked fine for Linux desktop build).<br>
<br>
However starting with 5.14 something changed in the qt android setup,<br>
e.g in aqt qt-install you don't specify the architecture anymore:<br>
<br>
                        android:              Qt 5.14:<br>
android (optional)<br>
                                              Qt 5.13 or below:<br>
android_x86_64, android_arm64_v8a<br>
<br>
android_x86, android_armv7<br>
<br>
The release notes say this:<br>
On Android, we now added support for multi ABI builds, allowing you to<br>
compile your application for multiple target architectures<br>
in one go. We also added support for the new AAB package format, which<br>
allows deploying of a single package covering all target<br>
architectures in one go to the Google Play Store.<br>
<br>
Compiled just fine with qt 5.12.<br>
<br>
I'll update the Dockerfile in the github repo soon as well.<br>
<br>
Thanks for helping me out Johnny!<br>
<br>
On Tue, Nov 9, 2021 at 11:21 AM Johnny Jazeix <<a href="mailto:jazeix@gmail.com" target="_blank">jazeix@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> Le mar. 9 nov. 2021 à 08:42, Aleksander Kamenik <<a href="mailto:aleksander.kamenik@gmail.com" target="_blank">aleksander.kamenik@gmail.com</a>> a écrit :<br>
>><br>
>> The new file is present:<br>
>><br>
>> find /opt/android/ -name new<br>
>> /opt/android/ndk/18.1.5063045/sources/cxx-stl/system/include/new<br>
>> /opt/android/ndk/18.1.5063045/sources/cxx-stl/llvm-libc++/include/new<br>
>> /opt/android/ndk/18.1.5063045/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/7.0.2/include/cuda_wrappers/new<br>
>><br>
>> I now discovered that at some point in testing using docker I forgot<br>
>> to init and update the git submodules. I do that now and still have a<br>
>> similar error.<br>
>><br>
>> I updated the <a href="https://github.com/kilx/gcompris-docker/blob/main/Dockerfile" rel="noreferrer" target="_blank">https://github.com/kilx/gcompris-docker/blob/main/Dockerfile</a><br>
>><br>
>> When running cmake it reports:<br>
>> ---<br>
>> -- You can export a target by specifying<br>
>> -DQTANDROID_EXPORTED_TARGET=<targetname> and -DANDROID_APK_DIR=<paths><br>
>> -- You can export a target by specifying<br>
>> -DQTANDROID_EXPORTED_TARGET=<targetname> and -DANDROID_APK_DIR=<paths><br>
>> -- Detecting C compiler ABI info<br>
>> -- Detecting C compiler ABI info - done<br>
>> -- Check for working C compiler:<br>
>> /opt/android/ndk/18.1.5063045/toolchains/llvm/prebuilt/linux-x86_64/bin/clang<br>
>> - skipped<br>
>> -- Detecting C compile features<br>
>> -- Detecting C compile features - done<br>
>> -- Detecting CXX compiler ABI info<br>
>> -- Detecting CXX compiler ABI info - done<br>
>> -- Check for working CXX compiler:<br>
>> /opt/android/ndk/18.1.5063045/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++<br>
>> - skipped<br>
>> -- Detecting CXX compile features<br>
>> -- Detecting CXX compile features - done<br>
>> CMake Warning (dev) at<br>
>> /usr/share/ECM/modules/ECMFindModuleHelpers.cmake:112 (message):<br>
>>   Your project should require at least CMake 3.16.0 to use FindKF5.cmake<br>
>> Call Stack (most recent call first):<br>
>>   /usr/share/ECM/find-modules/FindKF5.cmake:30 (ecm_find_package_version_check)<br>
>>   CMakeLists.txt:118 (find_package)<br>
>> This warning is for project developers.  Use -Wno-dev to suppress it.<br>
>><br>
>> -- Could NOT find KF5DocTools: found neither KF5DocToolsConfig.cmake<br>
>> nor kf5doctools-config.cmake<br>
>> Installing in /usr. Run /opt/build/build_android/prefix.sh to set the<br>
>> environment for gcompris-qt.<br>
>> -- Building <a href="http://build_openssl.sh.in" rel="noreferrer" target="_blank">build_openssl.sh.in</a><br>
>> -- Did not find the qml-box2d module in system scope, falling back to<br>
>> submodule build ...<br>
>> -- Found Git: /usr/bin/git (found version "2.32.0")<br>
>> -- Configuring done<br>
>> -- Generating done<br>
>> -- Build files have been written to: /opt/build/build_android<br>
>> ---<br>
>><br>
>> Note the:<br>
>> ---<br>
>> Did not find the qml-box2d module in system scope, falling back to<br>
>> submodule build ...<br>
>> ---<br>
>><br>
>> However it is present in gcompris/external.<br>
>><br>
><br>
> This is normal. As qml-box2d is not directly installed in the system as a package, it will build it as a submodule.<br>
><br>
>><br>
>> Also, is the following warning important? cmake is version 3.18.4 but<br>
>> I don't have the kf5doc* files anywhere.<br>
>> ---<br>
>> CMake Warning (dev) at<br>
>> /usr/share/ECM/modules/ECMFindModuleHelpers.cmake:112 (message):<br>
>>   Your project should require at least CMake 3.16.0 to use FindKF5.cmake<br>
>> Call Stack (most recent call first):<br>
>>   /usr/share/ECM/find-modules/FindKF5.cmake:30 (ecm_find_package_version_check)<br>
>>   CMakeLists.txt:118 (find_package)<br>
>> This warning is for project developers.  Use -Wno-dev to suppress it.<br>
>><br>
>> -- Could NOT find KF5DocTools: found neither KF5DocToolsConfig.cmake<br>
>> nor kf5doctools-config.cmake<br>
><br>
><br>
><br>
> Not important, it is to build the documentation.<br>
><br>
>><br>
>> Installing in /usr. Run /opt/build/build_android/prefix.sh to set the<br>
>> environment for gcompris-qt.<br>
>> ---<br>
>><br>
>> After running cmake the ./qml_box2d-prefix/src/qml_box2d-build<br>
>> directory is empty.<br>
>><br>
>> After running make with the following output the Makefile is created though.<br>
>> ---<br>
>> Scanning dependencies of target BuildTranslations<br>
>> [  0%] Built target BuildTranslations<br>
>> Scanning dependencies of target createShareFolders<br>
>> [  0%] Generating shareFolders<br>
>> [  0%] Built target createShareFolders<br>
>> Scanning dependencies of target qml_box2d<br>
>> [  0%] Creating directories for 'qml_box2d'<br>
>> [  0%] No download step for 'qml_box2d'<br>
>> [  0%] No update step for 'qml_box2d'<br>
>> [  0%] No patch step for 'qml_box2d'<br>
>> [  0%] Performing configure step for 'qml_box2d'<br>
>> Info: creating stash file<br>
>> /opt/build/build_android/qml_box2d-prefix/src/qml_box2d-build/.qmake.stash<br>
>> [  1%] Performing build step for 'qml_box2d'<br>
>> ../../../../gcompris/external/qml-box2d/Box2D/Collision/Shapes/b2PolygonShape.cpp:20:10:<br>
>> fatal error: 'new' file not found<br>
>> #include <new><br>
>>          ^~~~~<br>
>> 1 error generated.<br>
>> make[4]: *** [Makefile.Armeabi-v7a:2697: .obj/b2PolygonShape.o] Error 1<br>
>> make[3]: *** [Makefile:48: armeabi-v7a-all] Error 2<br>
>> make[2]: *** [CMakeFiles/qml_box2d.dir/build.make:130:<br>
>> qml_box2d-prefix/src/qml_box2d-stamp/qml_box2d-build] Error 2<br>
>> make[1]: *** [CMakeFiles/Makefile2:4273: CMakeFiles/qml_box2d.dir/all] Error 2<br>
>> make: *** [Makefile:171: all] Error 2<br>
>> ---<br>
>><br>
>> However what you mention is not present in that file:<br>
>><br>
>> grep -Ei 'CXX|llvm|include' ./qml_box2d-prefix/src/qml_box2d-build/Makefile<br>
>> (no result)<br>
>><br>
><br>
> This is the issue. For some reason, the compilation of the qml-box2d submodule do not include the default paths.<br>
> I don't really have a clue for now, maybe check the logs to find if there is something wrong?<br>
><br>
> Johnny<br>
><br>
>><br>
>> --<br>
>> Aleksander Kamenik<br>
<br>
<br>
<br>
-- <br>
Aleksander Kamenik<br>
</blockquote></div></div>