Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 476026 - media-libs/phonon-vlc and media-libs/phonon-gstreamer should install plugins in /usr/lib/qt4/plugins not /usr/lib/kde4/plugins (?)
Summary: media-libs/phonon-vlc and media-libs/phonon-gstreamer should install plugins ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-07 01:47 UTC by Gianluigi Tiesi
Modified: 2013-11-11 21:06 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
proposed patch for media-libs/phonon (phonon-4.6.0-plugindir.patch,1.61 KB, patch)
2013-07-11 01:20 UTC, Gianluigi Tiesi
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gianluigi Tiesi 2013-07-07 01:47:23 UTC
phonon-vlc and phonon-gstreamer backends actually depend on media-libs/phonon that expects plugins to be in /usr/lib/qt4/plugins

unfortunately the ebuild puts the package in /usr/lib/kde4/plugins that looks the path used by dev-qt/qtphonon that instead is not compatible with phonon-vlc and phonon-gstreamer

btw right now I get black video but audio, but this is another problem :D

Reproducible: Always

Steps to Reproduce:
1. emerge phonon-vlc or phonon-gstreamer
2.
3.
Actual Results:  
.so are in /usr/lib/kde4/plugins

Expected Results:  
.so should be in /usr/lib/qt4/plugins

Portage 2.1.12.2 (default/linux/x86/13.0, gcc-4.6.3, glibc-2.15-r3, 3.9-1-amd64 i686)
=================================================================
System uname: Linux-3.9-1-amd64-i686-Intel-R-_Core-TM-_i7-2860QM_CPU_@_2.50GHz-with-gentoo-2.2
KiB Mem:     7965084 total,   3845168 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Sun, 07 Jul 2013 00:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo sherpya
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-O2 -march=geode -mtune=geode -mmmx -mno-3dnow -fomit-frame-pointer -pipe"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=geode -mtune=geode -mmmx -mno-3dnow -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/build/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac alsa autohinter berkdb bindist bitmap-fonts bzip2 cli cpudetection crypt cxx dbus dri dts expat fontconfig gdbm gmp gold gpm graphite iconv imlib jpeg kernel-patch keymap libkms live lto lzma matroska minizip mmx mng modules mp3 multimedia ncurses network nptl ntpd ogg opengl optimization optimized-qmake pam pch pcre phonon png pyside python python2 qt4 readline rtsp run-as-root server session sna ssl svg syslog tcpd threads truetype truetype-fonts udev unicode vaapi vim-syntax vlc vorbis x86 xa xcomposite xft xinerama xorg xrandr xv xvmc zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev vesa geode intel cirrus" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-07-10 12:35:02 UTC
(In reply to Gianluigi Tiesi from comment #0)

Could you review the Summary I just changed and see if that's the kind of message you wanted to put across in English?
Comment 2 Gianluigi Tiesi 2013-07-10 16:30:52 UTC
yes, I wasn't able to be synthetic and I've also mistyped: by => but

There are two phonon packages in gentoo.
phonon-vlc and phonon-gstreamer depend on media-libs/phonon that expects plugins to be in /usr/lib/qt4/plugins.
I suppose dev-qt/qtphonon expects plugins to be in /usr/lib/kde4/plugins instead
Comment 3 Davide Pesavento (RETIRED) gentoo-dev 2013-07-11 00:28:44 UTC
(In reply to Gianluigi Tiesi from comment #2)
> yes, I wasn't able to be synthetic and I've also mistyped: by => but
> 
> There are two phonon packages in gentoo.
> phonon-vlc and phonon-gstreamer depend on media-libs/phonon that expects
> plugins to be in /usr/lib/qt4/plugins.

I can't check right now where the plugins are located on my system, but in any case both vlc and gstreamer backends work for me.

> I suppose dev-qt/qtphonon expects plugins to be in /usr/lib/kde4/plugins
> instead

Where did you get this impression?
Comment 4 Gianluigi Tiesi 2013-07-11 01:08:41 UTC
(In reply to Davide Pesavento from comment #3)
> (In reply to Gianluigi Tiesi from comment #2)
> > yes, I wasn't able to be synthetic and I've also mistyped: by => but
> > 
> > There are two phonon packages in gentoo.
> > phonon-vlc and phonon-gstreamer depend on media-libs/phonon that expects
> > plugins to be in /usr/lib/qt4/plugins.
> 
> I can't check right now where the plugins are located on my system, but in
> any case both vlc and gstreamer backends work for me.
> 
> > I suppose dev-qt/qtphonon expects plugins to be in /usr/lib/kde4/plugins
> > instead
> 
> Where did you get this impression?

otherwise /usr/lib/kde4/plugins is a random place,
I've just emerged qtphonon and my impression was wrong,
it uses /usr/lib/qt4/plugins

but phonon-vlc is uninstallable with qtphonon, because it depends on media-libs/phonon

I've tried to build phonon-vlc using qtphonon but it fails because it needs cmake scripts to include that qtphonon does not provide

I think I've found the root of the problem,
media-libs/phonon installs /usr/share/phonon/buildsystem/FindPhononInternal.cmake that specifies plugin dir:

set(PLUGIN_INSTALL_DIR          "${LIB_INSTALL_DIR}/kde4"                   CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde4)")

this is strange since then it looks into /qt4/
Comment 5 Gianluigi Tiesi 2013-07-11 01:20:16 UTC
Created attachment 353050 [details, diff]
proposed patch for media-libs/phonon

with this patch applied on media-libs/phonon, phonon-vlc puts the .so in the correct directory
Comment 6 Davide Pesavento (RETIRED) gentoo-dev 2013-07-11 01:51:58 UTC
I still don't understand what your problem is. Before jumping to conclusions, can you explain the *symptoms* of it? Why do you think the current path is wrong?
Comment 7 Gianluigi Tiesi 2013-07-11 02:07:34 UTC
my problem is:
phonon searches backends in:
/usr/lib/qt4/plugins/phonon_backend

phonon-vlc installs in:
/usr/lib/kde4/plugins/phonon_backend/phonon_vlc.so

so phonon doesn't find any backend

I'm using videoplayer.py from pyside demos

(perhaps I had to modify pyside ebuild because it's unable to detect media-libs/phonon, I've filed another bug report)

output:
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: Phonon::createPath: Cannot connect  MediaObject ( no objectName ) to  VideoWidget ( no objectName ). 
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 
WARNING: Phonon::createPath: Cannot connect  MediaObject ( no objectName ) to  AudioOutput ( no objectName ). 
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded 

if I put /usr/lib/kde4/plugins/phonon_backend/phonon_vlc.so
in /usr/lib/qt4/plugins/phonon_backend/phonon_vlc.so, videoplayer.py does work

[0x95221a8] main services discovery error: no suitable services discovery module
[0x952bbf0] main input error: ES_OUT_RESET_PCR called
[0x952bbf0] main input error: ES_OUT_RESET_PCR called
[h264 @ 0xf4c09860] Missing reference picture, default is 0
[h264 @ 0xf4c09860] decode_slice_header error
[h264 @ 0xf4c09860] Missing reference picture, default is 0
[h264 @ 0xf4c09860] decode_slice_header error
[h264 @ 0xf4c09860] Missing reference picture, default is 0
[h264 @ 0xf4c09860] decode_slice_header error

ffmpeg spam, but audio and video are ok

do you have phonon_vlc.so and phonon_gstreamer.so in /usr/lib/qt4/plugins/phonon_backend or in /usr/lib/kde4/plugins/phonon_backend?, my media-libs/phonon uses /usr/lib/qt4/plugins/phonon_backend
Comment 8 Gianluigi Tiesi 2013-07-11 02:09:23 UTC
I found the correct path using strace
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2013-07-25 20:24:56 UTC
do you have kdelibs installed?
Comment 10 Gianluigi Tiesi 2013-07-26 15:31:52 UTC
(In reply to Andreas K. Hüttel from comment #9)
> do you have kdelibs installed?

nope, eix -Ic --only-names kde returns nothing
Comment 11 Davide Pesavento (RETIRED) gentoo-dev 2013-08-16 08:14:10 UTC
So, let's try to restore some sanity in this bug report.

1) qtphonon and media-libs/phonon block each other, this is a fact and it's not going to change. If your bug is about this => WONTFIX

2) qtphonon has its own set of plugins and m-l/phonon has its own set of plugins. The two sets are *disjoint*. If you want to use m-l/phonon plugins together with qtphonon => INVALID/WONTFIX

3) if m-l/phonon is installed *without* kdelibs, the phonon library searches its plugins in /usr/lib/qt4/plugins, but the plugins (e.g. phonon-vlc) are still installed into /usr/lib/kde4/plugins, therefore no plugins are found. If this is the case, then the bug might actually be valid, but I'll leave the matter to the kde guys since it's their package.

4) something else

Which one do you choose? ;)
Comment 12 Gianluigi Tiesi 2013-08-17 07:19:39 UTC
(In reply to Davide Pesavento from comment #11)
> So, let's try to restore some sanity in this bug report.
> 
> 1) qtphonon and media-libs/phonon block each other, this is a fact and it's
> not going to change. If your bug is about this => WONTFIX
> 
> 2) qtphonon has its own set of plugins and m-l/phonon has its own set of
> plugins. The two sets are *disjoint*. If you want to use m-l/phonon plugins
> together with qtphonon => INVALID/WONTFIX
> 
> 3) if m-l/phonon is installed *without* kdelibs, the phonon library searches
> its plugins in /usr/lib/qt4/plugins, but the plugins (e.g. phonon-vlc) are
> still installed into /usr/lib/kde4/plugins, therefore no plugins are found.
> If this is the case, then the bug might actually be valid, but I'll leave
> the matter to the kde guys since it's their package.
> 
> 4) something else
> 
> Which one do you choose? ;)

3
Comment 13 Davide Pesavento (RETIRED) gentoo-dev 2013-08-17 08:12:47 UTC
(In reply to Gianluigi Tiesi from comment #12)
> 3

Cool, re-assigning to kde folks then.
Comment 14 Johannes Huber (RETIRED) gentoo-dev 2013-11-11 21:06:20 UTC
Thanks for reporting. This is fixed in cvs. Please sync in some hours to get the changes.

+
+  11 Nov 2013; Johannes Huber <johu@gentoo.org>
+  +files/phonon-4.7.0-plugin-install.patch, +files/phonon-4.7.0-rpath.patch,
+  +phonon-4.7.0.ebuild, phonon-9999.ebuild:
+  Version bump wrt bug #490758. Fix install phonon backend install path, bug
+  #476026.
+