"Plugin uses incompatible Qt library" after build from sources
-
Hello!
I have built Qt from sources (5.15.2) on Raspberry 4 (not cross compile) with next config:~/trash/qt-everywhere-src-5.15.2/configure -v -no-pch -prefix ~/Qt/Qt5.15.2/ -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -make libs -nomake tools -nomake examples -nomake tools -nomake tests -opensource -confirm-license -skip qtwebengine -no-rpath -openssl-linked -opengl desktop -sysconfdir "/etc/xdg" -no-qml-debug -feature-freetype -fontconfig -feature-relocatable -strip -gstreamer 1.0
Then i tried to build some small test project which uses multimedia. That compiled successfully but on running i got an error:
$ QT_PLUGIN_PATH="/home/ubuntu/Qt/Qt5.15.2/plugins/" ./VideoStreamer QFactoryLoader::QFactoryLoader() checking directory path "/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice" ... QFactoryLoader::QFactoryLoader() looking at "/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstaudiodecoder.so" Found metadata in lib /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstaudiodecoder.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreameraudiodecode" ], "Services": [ "org.qt-project.qt.audiodecode" ] }, "archreq": 0, "className": "QGstreamerAudioDecoderServicePlugin", "debug": false, "version": 331520 } In /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstaudiodecoder.so: Plugin uses incompatible Qt library (5.15.0) [release] "The plugin '/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstaudiodecoder.so' uses incompatible Qt library. (5.15.0) [release]" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstcamerabin.so" Found metadata in lib /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstcamerabin.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamercamerabin" ], "Services": [ "org.qt-project.qt.camera" ] }, "archreq": 0, "className": "CameraBinServicePlugin", "debug": false, "version": 331520 } In /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstcamerabin.so: [115/1916] Plugin uses incompatible Qt library (5.15.0) [release] "The plugin '/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstcamerabin.so' uses incompatible Qt library. (5.15.0) [release]" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediacapture.so" Found metadata in lib /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediacapture.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediacapture" ], "Services": [ "org.qt-project.qt.audiosource" ] }, "archreq": 0, "className": "QGstreamerCaptureServicePlugin", "debug": false, "version": 331520 } In /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediacapture.so: Plugin uses incompatible Qt library (5.15.0) [release] "The plugin '/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediacapture.so' uses incompatible Qt library. (5.15.0) [release]" not a plugin QFactoryLoader::QFactoryLoader() looking at "/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediaplayer.so" Found metadata in lib /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediaplayer.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediaplayer" ], "Services": [ "org.qt-project.qt.mediaplayer" ] }, "archreq": 0, "className": "QGstreamerPlayerServicePlugin", "debug": false, "version": 331520 } In /home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediaplayer.so: Plugin uses incompatible Qt library (5.15.0) [release] "The plugin '/home/ubuntu/Qt/Qt5.15.2/plugins/mediaservice/libgstmediaplayer.so' uses incompatible Qt library. (5.15.0) [release]" not a plugin QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/aarch64-linux-gnu/qt5/plugins/mediaservice" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/ubuntu/projects/VideoStreamer/mediaservice" ... defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
Why some plugins have version 5.15.0 if i built from sources 5.15.2?
Thanks -
Make sure you don't have a Qt5.15 in your LD_LIBRARY_PATH. And print out the current Qt version in your main.cpp to see what you really load (https://doc.qt.io/qt-5/qtglobal.html#qVersion)
-
@Christian-Ehrlicher Thanks for your answer!
I dont know why, but qVersion() returns 5.12.8))) Now i'm rebuilding Qt -
In my system really was installed Qt 5.12. I added new Qt libs to ldconfig and now it works)))
Note: If you are still getting "Error: cannot create camera service, the 'camerabin' plugin is missing for GStreamer 1.16" then try to install:
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-dev gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-alsa libasound2-dev