Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.5.0
-
2012 MacBookPro, OSX 10.10.4, Qt5.5.0 (offline installer downloads)
-
6a86f7026816fa657f070d10f9164d7b7099a71c
Description
I have a couple of QQuickView applications with QML and QtMultimedia's MediaPlayer & VideoOutput. On the Mac, it's built with qmake and macdeployqt. With Qt 5.4.1, it works just fine. With Qt5.5.0, the app bundle appears to be missing some multimedia files (some more details in thread at https://forum.qt.io/topic/56529/qt5-5-macdeployqt-trouble-with-multimedia ) resulting in qml components failing to create.
The issue can be reproduced with the code at https://bitbucket.org/timday/qmltoy (has been tagged qtbug-47390 immediately after creating this); README.md contains build and run instructions (MAKE-mac scripts may need paths to Qt updating).
Built & deployed with 5.4.1 ( ./MAKE-mac.5.4.1), the app can open the video.qml page just fine (and video plays).
Built and deployed with 5.5.0 ( ./MAKE-mac.5.5.0), the app works ok up to the point video.qml is opened, at which point it fails with some plugin loading issue (see below); note that it's not actually necessary to use index.qml's file browser to navigate to video.qml per the README.md instructions, simply providing video.qml on the commandline gets you straight to the problem.
$ ./build/qmltoy.app/Contents/MacOS/qmltoy video.qml file:///Users/timday/project/qmltoy/video.qml:24:3: Type MyVideo unavailable MyVideo { ^ file:///Users/timday/project/qmltoy/MyVideo.qml:2:1: plugin cannot be loaded for module "QtMultimedia": Cannot load library /Users/timday/project/qmltoy/build/qmltoy.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib: (dlopen(/Users/timday/project/qmltoy/build/qmltoy.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib, 5): Library not loaded: @rpath/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p Referenced from: /Users/timday/project/qmltoy/build/qmltoy.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib Reason: image not found) import QtMultimedia 5.0 ^
As with the linked forum post, an obvious difference between these qmltoy builds is that the 5.4.1 built version has extra
build/qmltoy.app//Contents/Frameworks/QtMultimediaQuick_p.framework build/qmltoy.app//Contents/Frameworks/QtMultimediaQuick_p.framework/QtMultimediaQuick_p build/qmltoy.app//Contents/Frameworks/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p
directory and files (which the 5.5.0 appears to be complaining about the absence of).
I've no idea if/how closely this is associated with macdeployqt's QTBUG-46404 (another significant Qt5.5 regression in macdeployqt); certainly the workround proposed in that issue (and hence the differences between my MAKE-mac.5.4.1 and MAKE-mac.5.5.0) does seem to be necessary to and get other aspects of the application working correctly.
It maybe worth mentioning that
$ ~/Qt5.5.0/5.5/clang_64/bin/qmlscene video.qml
works fine (plays video), but not being a .app bundle it presumably isn't built with macdeployqt.