Solved Error message: module "QtQuick" version x.xx is not installed on Raspberry Pi
-
Strange...
What do you get if your start it with the QT_DEBUG_PLUGINS environment variable set to one ?
-
No change to the error message. (when running qmlscene test.qml)
Is there a debug environment variable for qml? -
Ok I went back to the actual application I've been trying to run and ran that with QT_DEBUG_PLUGINS=1. Here's part of what it spit out. A bunch of stuff came before it but it looked like that all succeeded. I included a little from around the failure for comparison.
Got keys from plugin meta data ("compose", "xim") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/aarch64-linux-gnu/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so" Found metadata in lib /usr/lib/aarch64-linux-gnu/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata= { "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1", "MetaData": { "Keys": [ "ibus" ] }, "className": "QIbusPlatformInputContextPlugin", "debug": false, "version": 330499 } Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/Timeline_Widget/platforminputcontexts" ... loaded library "/usr/lib/aarch64-linux-gnu/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QQmlApplicationEngine failed to load component qrc:/main.qml:1 module "QtQml" version 2.14 is not installed QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/aarch64-linux-gnu/qt5/plugins/accessiblebridge" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/Timeline_Widget/accessiblebridge" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/aarch64-linux-gnu/qt5/plugins/iconengines" ... QFactoryLoader::QFactoryLoader() looking at "/usr/lib/aarch64-linux-gnu/qt5/plugins/iconengines/libqsvgicon.so" Found metadata in lib /usr/lib/aarch64-linux-gnu/qt5/plugins/iconengines/libqsvgicon.so, metadata= { "IID": "org.qt-project.Qt.QIconEngineFactoryInterface", "MetaData": { "Keys": [ "svg", "svgz", "svg.gz" ] }, "className": "QSvgIconPlugin", "debug": false, "version": 330499 } Got keys from plugin meta data ("svg", "svgz", "svg.gz") QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/Timeline_Widget/iconengines" ... QLibraryPrivate::unload succeeded on "/usr/lib/aarch64-linux-gnu/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QLibraryPrivate::unload succeeded on "/usr/lib/aarch64-linux-gnu/qt5/plugins/platformthemes/libqt5ct.so" QLibraryPrivate::unload succeeded on "/usr/lib/aarch64-linux-gnu/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so" QLibraryPrivate::unload succeeded on "/usr/lib/aarch64-linux-gnu/qt5/plugins/platforms/libqxcb.so" QLibraryPrivate::unload succeeded on "Xcursor" (faked)
-
Can you check which Qt version was used to build the packages you installed ? I suspect it's older than 5.14.
-
Yes - How do I do that?
I also have my freelancer's image now, and am comparing notes on it. Of course it's able to compile and run the code he's been working on, but out of curiosity I tried running the same qml tutorial, and get the same error I mentioned above:
qmlscene: could not find a Qt installation of ''
I'm not sure what to make of this...
-
Alright I tried running the app on both images. The images are different, one is the standard, and the other is the 64 bit one I've been playing with it. There could of course be differences I don't know about, but Qt seems to know where it's installed so I don't see why that would be a problem.
I ran >qtchooser -print-env< on both systems and they seem to be set up similarly.
64 bit image:
QT_SELECT="default" QTTOOLDIR="/usr/lib/qt5/bin" QTLIBDIR="/usr/lib/aarch64-linux-gnu"
32-bit standard image
QT_SELECT="default" QTTOOLDIR="/usr/lib/qt5/bin" QTLIBDIR="/usr/lib/arm-linux-gnueabihf"
I also ran the app with QT_DEBUG_PLUGINS=1 on both systems and compared where it was failing on my image
64-bit image: (same output as previously posted)
Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/Timeline_Widget/platforminputcontexts" ... loaded library "/usr/lib/aarch64-linux-gnu/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QQmlApplicationEngine failed to load component qrc:/main.qml:1 module "QtQml" version 2.14 is not installed
32-bit image:
Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/Desktop/Timeline_Widget/platforminputcontexts" ... loaded library "/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" Found metadata in lib /usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick.2/libqtquick2plugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "MetaData": { }, "className": "QtQuick2Plugin", "debug": false, "uri": [ "QtQuick.2" ], "version": 330499 }
so it seems like where it broke on the 64 bit image is in looking for the file /usr/lib/aarch64-linux-gnu/qt5/qml/QtQuick.2/libqtquick2plugin.so, which definitely exists.
How can I debug that file? maybe it's the wrong version, compiled on the wrong version, etc?
I'll try this on my own 32-bit image as well haha - causing problems for myself, probably. :)
-
You can use
apt show <package_name>
to gather information about the package. -
Ok- I wanted to finish setting back up the 32 bit image; apparently I overwrote it a few days ago haha.
So anyway, that image spits out the same issue as the 64 bit, just with that slightly modified path (/usr/lib/arm-linux-gnueabihf/)
It looks like all the packages are 5.11. I went through some with apt show <package> and then it prints that info when you do a fresh install of all of them like I just did.
Two questions - why is that a problem, and how do I fix it?
-
Your application uses a QtQuick import from a later version of Qt.
Either install a more recent version of Qt or change the import to match your Qt 5.11.
-
How do I call out Qt 5.14 when installing from the command line?
-
Nevermind I think I answered my own question. 5.11 is the stable release, so that's in the packages, 5.14 has to be compiled from source. (I've been wondering what the difference was, this explains it.)
-
So he built Qt himself ?
-
Yeah this is basically solved now, this was mostly a miscommunication between us haha. He had built 5.14 himself, written some code, then switched branches and put 5.11 import statements on that branch without me realizing what had happened.
Thanks for your help, @SGaist !
Also, I don't have a solution for the "qmlscene could not find a Qt installation of ''" but that's not pertinent to our development so if I find a solution later I'll come back to it.