Qt 5.13 brokes development
-
After unsuccessful experiments with Qt 5.13.0 I sought return to development of my current project with Qt 5.9.6. I selected all previously used settings - Android NDK r12b, GCC compiler and all previously used parts. I rebuild all subprojects making shared libraries for my current project. I worked with it week ago and all was Ok. But now in attempt build Android APK - I've got the error message:
make: *** No rule to make target `install'. Stop.
WHAT???? WHAT THE HELL IS GOING ON????!!!
This project did NOT change. All settings in it are the same as they were week ago. I only installed Qt 5.13 near but did not use it for this project - I tried make my old published apps with 5.13 to satisfy Google's August requirements. But this project I DID NOT TOUCH. It is not yet completed.
I am finally disappointed... Digia not only created non-working Qt 5.13 but it's installation brokes development of projects on previous Qt versions. I do not have other words for this...
-
for Qt 5.9 read here https://doc.qt.io/qt-5/android-getting-started.html
Note: Using Qt for Android with the GCC toolchain requires Android NDK version r10e. For Qt 5.12 or later, use the latest available version of NDK with android-clang toolchain.@Gourmet said in Qt 5.13 brokes development:
I am finally disappointed... Digia not only created non-working Qt 5.13 but it's installation brokes development of projects on previous Qt versions. I do not have other words for this...
It is not called Digia anymore. It is The Qt Company
-
@koahnig I created, debugged and published on Google Play 21 apps with Qt 5.9.6 and Android NDK r12b. They give me money. Your suggestion to read is inappropriate.
@koahnig said in Qt 5.13 brokes development:
It is The Qt Company
May be better if it still would be called Digia...
-
Even my app desktop x86 Linux version became broken. I cannot make binary file. Week ago I made it and debugged successfully. Now I get linker error messages. But NOTHING changed in this project. Looks like qmake works differently. It gives me one more strange behavior.
-
@Gourmet said in Qt 5.13 brokes development:
Your suggestion to read is inappropriate
It isn't. What @koahnig means is that for Qt versions >= 5.12 you need a NDK with CLang not GCC.
" I selected all previously used settings - Android NDK r12b, GCC compiler"."Now I get linker error messages" - if you post actual errors maybe you get some help here. Also, did you rerun qmake and rebuild (better to delete build folder to make sure to not to have any object files from old builds)?
-
@jsulm said in Qt 5.13 brokes development:
It isn't. What @koahnig means is that for Qt versions >= 5.12 you need a NDK with CLang not GCC.
" I selected all previously used settings - Android NDK r12b, GCC compiler".NO. IT IS. Read more carefully and pay more attention while reading - I tried build my app with Qt 5.9.6 as I did it week ago. Of course with GCC compiler as it worked week ago.
But now, after installation of Qt 5.13.0 it DOES NOT work.
@jsulm said in Qt 5.13 brokes development:
did you rerun qmake and rebuild (better to delete build folder to make sure to not to have any object files from old builds)?
Not only I deleted previous build folder - but new build folder name looks different to previous. Old (made week ago) build path included version code:
Android_armeabi_v7a_GCC_4_9_Qt_Qt_5_9_6_for_Android_armv7
now it includes version code:
Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_6_for_Android_armv7_0b1bb7
That means - different scripts are used for build of older apps after Qt 5.13.0 installation.
That means - Qt 5.13.0 installation broke development of my apps.
Linker errors are common - some unknown names inside shared object. That means - linking uses different paths in comparison to previous builds.
Now I have waste time to clearly remove Qt 5.13.0 and restore workstation without backups. I believed to Qt team therefore did not make system backup before 5.13 installation. But somebody too much smart disabled remove installed QtCreator 4.9.2 - there is no such option in mew Maintenance Tool. I have to remove it manually.
-
@Gourmet You wrote: "I selected all previously used settings - Android NDK r12b, GCC compiler and all previously used parts". That means you selected GCC as compiler to use with Qt 5.13?
Not making backups is your own fault, not one of Qt developers.
I can understand that such problems are frustrating, but your attitude is not helpful at all...
-
I removed Qt 5.13.0 completely from workstation, then removed Qt 5.9.6 and then installed it again. But QtCreator 4.6.2 started with it's previous settings - that means it keeps them in other folder instead of installation. I tried build application for Android - all my shared libraries were build successfully. But then process stopped with message
make: *** No rule to make target `install'. Stop. 17:41:36: The process "/opt/android-ndk-r12b/prebuilt/linux-x86_64/bin/make" exited with code 2. Error while building/deploying project Application (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.9.6 for Android armv7)) When executing step "Copy application data"
This is the same as when I started this thread. How to completely clean system after Qt removal? It must do not have any Qt footprints before I will first start newly installed. I have no other ideas what other I can do.
-
Do you have also NDK r10e on your machine?
If yes, give it a try. The documentation says that one shall use NDK r10e before Qt 5.12. That reflects my experience. Presumably there was an updating issue of makefiles and you might think that you have used NDK r12b, but you were not.
I had a similar issue but on windows. The ndk was not what I intended to have.Otherwise I suggest to update to Qt 5.12 and one of the newest NDKs available. That should work in your case. Starting Qt5.12 the compiler changed which explains the requirement for different NDKs.
My application may be compiled for Qt5.11 with NDK r10e or Qt5.12 with a newer version. The only nuisances are the recompilation and the change of the NDK is a bit awkward.
-
@koahnig said in Qt 5.13 brokes development:
Do you have also NDK r10e on your machine?
No, never had and will not. I have only NDK r12b on my Linux workstation (I already removed r19c). Please do not waste my time more with this. I used NDK r12b for application development through entire last year. And it worked perfectly. At past fall I created and published all my apps with it. Week ago I built and debugged my new app with it. Now the problem relates NOT to NDK version. It appeared after Qt 5.13 installation and does NOT relate to NDK version. The problem is with Qt itself. Attempt to use other NDK will be just time loose action.
Next time if you do not know answer to my question - do not write anything about NDK. Now I need clean workstation from Qt installation completely and reinstall all as I did year ago.
-
For others who knows well Linux development with modern Qt versions - is that enough to remove folders ~/.config/QtProject and ~/.local/share/data/QtProject/qtcreator and files related to Nokia, Trolltech in folder .config and .local/applications?
Are there any other Qt footprints in the Linux file system (excluding installation ~/Qt path)?
-
Phew... Finally I cleaned up workstation from all Qt footprints, installed 5.9.6 from scratch, tuned it for NDK r12b and it now works again. At least my new app builds, installs and runs on test smartphone.
But I will not mark this thread as SOLVED - I will do this only after newest Qt 5.1?.x will work for me.
To not start new thread I will ask here - Does Qt 5.12.x exactly work with QtCreator 4.6.2 for Android? This question is asked to those who really used it and created apps. Which one NDK should be used? How tune QtCreator for clang toolchain in Linux? QtCreator 4.6.2 doesn't catch it automatically.
-
@Gourmet
I didn't use such an old version of qt creator with Qt 5.12.x, and honestly don't see a reason why anyone should. As the versions go up, it should be normal to update what you use, to technologically not fall behind.Now for what I am sure of:
ForQt 5.12.4
you needNDK 19c
To get clang support, all you need to do is update to Qt creator4.9.x
( I'm using 4.9.1 and it works without issues), If you must use 4.6.2, I can't help you there.
The full setup:
open JDK 1.8.1u212
NDK 19c
SDK 28
( even tho Qt creator says 26.1.1 under Device>Android info)
Qt creator 4.9.1
Qt 5.12.4 armv7 and arm64
With this you shouldn't have any issues to build for android, both 32 and 64 bit, at least the part that's up to Qt. Regarding code difference from 5.9.x and 5.12.x I can't say for sure, depends what you used, but updating parts of it is inevitable. -
@Wiru said in Qt 5.13 brokes development:
@Gourmet
I didn't use such an old version of qt creator with Qt 5.12.x, and honestly don't see a reason why anyone should.Reason is simple - QtCreator 4.9.x does not work on Linux Kubuntu 14.04 which I use for development. That was confirmed to me by Qt team member. I do not have time for upgrade entire system - for me it is absolutely enough apply fixes and patches. I will able for upgrade only at fall. And this will eat my time for vacations.
-
@Gourmet That's another issue. You are using an OS version that's 5 years old.
Honestly I don't understand what you expected. The quickest way would be to just leave your current pc/laptop as is and set up all new versions on a different one, if it works cool, if not fallback to old one till you have more time to bother with stuff that should have been done before. -
@Wiru Kubuntu 14.04 is LTS. That means it must be supported during 5 years from publishing. Another issue is - Qt Company did not warn me about OS ending support period. I just forget about it... Quickest way is - set one more HDD to same computer, install Kubuntu 19.04 and add it to GRUB multiboot table. But this is not a quick way... It requires installation of many other needed programs, not only Qt.
-
@Gourmet said in Qt 5.13 brokes development:
Qt Company did not warn me about OS ending support
https://doc.qt.io/qtcreator/creator-os-supported-platforms.html
"That means it must be supported during 5 years from publishing" - we are already past 5 years. Also, it's Canonical who promises 5 years support, not Qt Company. -
@Gourmet said in Qt 5.13 brokes development:
set one more HDD to same computer, install Kubuntu 19.04 and add it to GRUB multiboot table.
Virtual machines make life much easier than this. VMWare Player and VirtualBox are free. No need to add a HDD (unless you have no more space), and no need to change GRUB.
It requires installation of many other needed programs, not only Qt.
Which other programs?