Bug 760039
Summary: | phonon_backend gstreamer could not be loaded | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rafael Louback Ferraz <ferrazrafael> | ||||||||
Component: | phonon | Assignee: | Rex Dieter <rdieter> | ||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | unspecified | Docs Contact: | |||||||||
Priority: | unspecified | ||||||||||
Version: | 15 | CC: | franck.bonin, jreznik, kevin, ltinkl, rdieter, smparrish, tdfischer, than | ||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Unspecified | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | phonon-4.5.1-3.fc15 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2012-04-01 22:55:57 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Rafael Louback Ferraz
2011-12-05 10:23:14 UTC
I doubt ubuntu's 2-year-old bug is relevant here, even if the symptoms seem the same. (In reply to comment #1) > I doubt ubuntu's 2-year-old bug is relevant here, even if the symptoms seem the > same. Ok, but my program gives the same error: WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded Phonon::createPath: Cannot connect Phonon::MediaObject(no objectName) to Phonon::AudioOutput(no objectName). WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded I write a simples test, using this command: Phonon::MediaObject *mediaObject = Phonon::createPlayer(Phonon::NoCategory, Phonon::MediaSource("./file.ogg")); mediaObject->play(); It worked in previous versions of qt on fedora, and still working on windows 7 with qt 4.7.4 The installation location of the Phonon stuff is the same in current Fedora 15 updates (Phonon 4.5.1) and current Fedora 16 updates (Phonon 4.5.57). I think your problem is related to, but not the same as the Ubuntu issue. What's going on is that Phonon installs to /usr/lib(64)/kde4/plugins/phonon_backend/, which is only added to the Qt plugin path for KDE Plasma sessions. I see 2 possible fixes: * unconditionally add this to the Qt plugin path (in /etc/profile.d, as we have been doing in the past, though only if KDE stuff was installed – we'd need to move this to kde-filesystem or something equally low-level instead to enforce this even for only Phonon) or * install the Phonon stuff to the default Qt plugin directory instead. One way to find out for sure, set QT_PLUGIN_PATH=/usr/lib64/kde4/plugins does it work now? From a irc chat with phonon dev: [12/05/11 07:19] <tdfischer> hmm [12/05/11 07:19] <tdfischer> QCoreApplication::addLibraryPath(QLatin1String(PHONON_LIBRARY_PATH)); [12/05/11 07:19] <tdfischer> if no platform plugin is loaded, that should cause QLibrary to look inside kde4/plugins So, in general, PHONON_LIBRARY_PATH should get searched regardless of whether one is in a plasma session or not. and my simple test using xfce + clementine (a qt-only phonon-using application) worked ok for me. So, it's hard to say yet. According to the backend loading code in libphonon, it first checks if there is a platform plugin and if it provides a backend. If not, it then searches QCoreApplication::libraryPaths() + "/phonon_backend/" for the first loadable plugin. Prior to getting to this point, it adds PHONON_LIBRARY_PATH to that list, which is defined at buildtime to ${PLUGIN_INSTALL_DIR}/plugins. This feels to me like a buggy system, and not a libphonon bug. This code was added in 2008 according to git, and you seem to be the only person with this bug. Could you find out what QT_PLUGIN_PATH is and the value of libraryPath in any Trolltech.conf you find on your system? echo $QT_PLUGIN_PATH returns an empty line. And none of the Trolltech.conf files has an line with libraryPath. Created attachment 541013 [details]
Trolltech.conf on /etc/ diretory
Created attachment 541014 [details]
Trolltech.conf on $HOME/.config/ diretory
doing QT_PLUGIN_PATH=/usr/lib64/kde4/plugins doesnt solve the problem You've some other problem then, resetting summary. Mind reproducing the test I tried? yum install clementine and, run it, (ideally with some audio files in ~/Music) what DE are you using? mind posting your code that doesn't work? Or another simple test case, yum install qt-examples and run, /usr/lib64/qt4/examples/phonon/qmusicplayer er, make that: /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer An strace log might also be helpful, to see where it's looking for the plugin. Oh, and are you sure your app is 64-bit? 32-bit apps need the 32-bit phonon-backend-gstreamer multilib. I installed phonon-backend-gstreamer 32-bits and dont work anyway. Some error message using qmusicplayer Created attachment 542091 [details]
strace log of qmusicplayer
Well, I'll be a monkey's uncle, QT_PLUGIN_PATH= \ /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded and, indeed, looking through my own strace, see no references to /usr/lib64/kde4/plugins but, QT_PLUGIN_PATH=/usr/lib64/kde4/plugins \ /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer go figure. Now, here's the oops, methinks, PHONON_LIBRARY_PATH looks like a relative path according to cmake's generated files: phonon/CMakeFiles/phonon.dir/flags.make:... -DPHONON_LIBRARY_PATH=\"lib64/kde4/plugins\" I'd have expected this to be /usr/lib64/kde4/plugins instead. Yup, according to FindKDE4Internal.cmake # PLUGIN_INSTALL_DIR - the subdirectory relative to the install prefix where plugins will be installed (default is ${KDE4_LIB_INSTALL_DIR}/kde4) So, Ill try prepending PREFIX in there somewhere diff -up phonon-4.5.57/phonon/CMakeLists.txt.plugindir phonon-4.5.57/phonon/CMakeLists.txt --- phonon-4.5.57/phonon/CMakeLists.txt.plugindir 2011-10-21 08:54:42.000000000 -0500 +++ phonon-4.5.57/phonon/CMakeLists.txt 2011-12-07 12:18:01.148682382 -0600 @@ -78,7 +78,7 @@ if (PHONON_NO_PLATFORMPLUGIN) add_definitions(-DQT_NO_PHONON_PLATFORMPLUGIN) endif (PHONON_NO_PLATFORMPLUGIN) -add_definitions(-DPHONON_LIBRARY_PATH="${PLUGIN_INSTALL_DIR}/plugins") +add_definitions(-DPHONON_LIBRARY_PATH="${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}/plugins") automoc4_add_library(phonon SHARED ${phonon_LIB_SRCS}) target_link_libraries(phonon ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) this seems to do the trick, makes the case of unsetting QT_PLUGIN_PATH work for me without error. phonon-4.5.57-4.20111031.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/phonon-4.5.57-4.20111031.fc16 phonon-4.5.1-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/phonon-4.5.1-2.fc15 Package phonon-4.5.1-2.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing phonon-4.5.1-2.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2011-16858/phonon-4.5.1-2.fc15 then log in and leave karma (feedback). phonon-4.5.57-4.20111031.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. phonon-4.5.1-2.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report. Problem on Fedora15 64bit : Using phonon-4.5.1-2.fc15 on X86_64 still not working. But downgrade to phonon-4.5.0-2.fc15 make things back in place (sudo yum downgrade phonon phonon-devel) This problem can be seen using /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer sounds like you're experiencing a separate problem then. The patch provided here was to fix something that has been broken in phonon since forever, 4.5.0 included. Just to restore some sanity here, Does, QT_PLUGIN_PATH=/usr/lib64/kde4/plugins \ /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer make phonon-4.5.1 work for you? Yes, QT_PLUGIN_PATH=/usr/lib64/kde4/plugins \ /usr/lib64/qt4/examples/phonon/qmusicplayer/qmusicplayer Works. But if this is a workaround, I'm not sure this is the best method (patch QT_PLUGIN_PATH prior launching our tools) Our tools use default Fedora provided Qt and Phonon packages, maybe those packages shall be configured to integrate together without any user configuration ? OK, no that just confirms my backporting the patch for phonon-4.5 didn't work right. I'll have to look into it more. thanks for the confirmation. phonon-4.5.1-3.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/phonon-4.5.1-3.fc15 Package phonon-4.5.1-3.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing phonon-4.5.1-3.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-4052/phonon-4.5.1-3.fc15 then log in and leave karma (feedback). Would you mind testing the update: # su -c 'yum update --enablerepo=updates-testing phonon and give some feedback if it works for you? phonon-4.5.1-3.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report. |