Sound via pulseaudio doesn't work in app-misc/workrave-1.10.6-r1 if media-libs/gstreamer:0.10 is previously installed when workrave is emerged. In this situation, workrave links to libstreamer-0.10.so instead of libstreamer-1.0 and without media-plugins/gst-plugins-pulse:0.10, sound doesn't work. Reproducible: Always Steps to Reproduce: 1. Setup pulseaudio. Enable pulseaudio use flag. 2. Enable gstreamer use flag 3. emerge gstreamer:1.0 gstreamer:0.10 4. emerge workrave Actual Results: workrave links to the older version of gstreamer, libgstreamer-0.10. The app doesn't have sound when linked to 0.10 unless gst-plugins-pulse:0.10 is also installed. $ ldd /usr/bin/workrave | grep -i libgs libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007ff5aa4a9000) Expected Results: I expect sound to work. This could be accomplished either by installing gst-plugins-pulse:0.10 when workrave is linked to libgstreamer-0.10, or by linking to libgstreamer-1.0 (1.0 doesn't seem to require gst-plugins-pulse:1.0 for sound to work in workrave). I had other sound applications running in the background, so pulseaudio was running. Portage 2.2.20.1 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.3, glibc-2.21-r1, 3.18.11-gentoo x86_64) ================================================================= System uname: Linux-3.18.11-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_930_@_2.80GHz-with-gentoo-2.2 KiB Mem: 12359216 total, 2810184 free KiB Swap: 10485756 total, 10485756 free Timestamp of repository gentoo: Tue, 20 Oct 2015 08:30:01 +0000 sh bash 4.3_p39 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 ccache version 3.1.9 [enabled] app-shells/bash: 4.3_p39::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.20.2::gentoo dev-lang/python: 2.7.10::gentoo, 3.4.3::gentoo dev-util/ccache: 3.1.9-r4::gentoo dev-util/cmake: 3.3.1-r1::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.17::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.7.3::gentoo sys-devel/libtool: 2.4.6::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers) sys-libs/glibc: 2.21-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 x-portage location: /usr/local/portage masters: gentoo priority: 0 raiagent location: /var/lib/layman/raiagent masters: gentoo priority: 1 games-overlay location: /var/lib/layman/games-overlay masters: gentoo priority: 2 gamerlay location: /var/lib/layman/gamerlay masters: gentoo priority: 3 sunrise location: /var/lib/layman/sunrise masters: gentoo priority: 4 x11 location: /var/lib/layman/x11 masters: gentoo priority: 5 pentoo location: /var/lib/layman/pentoo masters: gentoo priority: 6 roslin location: /var/lib/layman/roslin masters: gentoo priority: 7 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native -mtune=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -march=native -mtune=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/ http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="256-color S3TC X a52 aac acl acpi afterimage alsa amd64 anthy bash-completion berkdb bidi blink bluray branding bzip2 cairo cdda cdio cdr cjk cli color consolekit cracklib crypt cscope cups cxx dbus dirac directfb dos dri dts dvd dvdnav dvdr dvi emboss encode escreen exif faac faad fading-colors fam fbcondecor fdk ffmpeg firefox firefox3 flac flite fortran furigana g3dvl gd gdbm gif glamor gmail gme gpm gsm gstreamer gtk gtk3 hddtemp iconv imap ipv6 iso14755 joystick jpeg kpathsea latex lcms ldap libass libnotify libsamplerate libwww lm_sensors lock logrotate mad maildir matroska midi minizip mmx mmxext mng modules mono moonlight mp3 mp4 mpeg multilib musepack ncurses netapi nls nptl nsplugin nvidia ogg openal opencl opengl openmp osmesa pam pango passwordsave pcre pdf pixbuf png policykit popcnt ppds pulseaudio qt3support qt4 quicktime readline rememberthemilk rtsp s3tc sasl schroedinger scim screen sdl seccomp session sockets sound speech speex spell sse sse2 sse3 sse4 sse4.1 sse4.2 sse4_1 sse4_2 ssl ssse3 staging startup-notification svg taglib tcpd theora thunar tiff timidity tordns transparent-proxy tremor truetype twolame udev udisks unicode upower usb v4l vaapi vcdx vim-syntax vorbis vpx wifi wma-fixed wxwidgets x264 xattr xcb xcomposite xfce xft xinerama xml xrandr xv xvid xvmc zlib zsh-completion" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" CPU_FLAGS_X86="mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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 ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia" XFCE_PLUGINS="menu" 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: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 415024 [details, diff] patch for workrave-1.10.6-r1 patch that adds gstreamer-0 use flag and missing dependency, gst-plugin-pulse. This patch blocks gstreamer:0.10 when it depends on gstreamer:1.0. If it allowed both, it would link against gstreamer:0.10, and if the user removed gstreamer:0.10 but left gstreamer:1.0, workrave would break. It defaults to gstreamer-0. If it didn't it would be necessary to block gstreamer:0.10. I figure not blocking would be preferable to using gstreamer:1.0 since have both gstreamer slots installed is common.
We need to ensure it links against gst-1 always :/
[master abfbd5e] app-misc/workrave: Force the use of gstreamer-1 instead of letting automagic switching (#563584 by Lucian Poston), don't enable introspection support automagically (#561124 by Toralf Förster), debug configure option is only playing with CFLAGS, stop relying on obsolete gnet lib as other distributions are doing for years. 3 files changed, 126 insertions(+) create mode 100644 app-misc/workrave/files/workrave-1.10.6-automagic-gstreamer.patch create mode 100644 app-misc/workrave/workrave-1.10.6-r2.ebuild
Created attachment 415340 [details, diff] Patch to fix sound in pulseaudio and link to gst-1.0 This patch adds a missing dependency required for pulseaudio and adds a patch to always link to gstreamer-1.0 by patching configure.ac
Oops.. didn't see your last comment before adding my most recent patch. I also added media-plugins/gst-plugins-pulse:1.0 as a dependency to get sound working with pulseaudio. (It also worked with only media-libs/gst-plugins-good:1.0 rather than gst-plugins-pulse, but it isn't immediately clear why, so I added gst-plugins-pulse, which also pulls in gst-plugins-good. I assume there are run-time dynamic dependencies on one or both of those plugins)
Reopening so that dependency in my previous comment isn't missed
[master 0fc476c] app-misc/workrave: I forgot to add a dep on media-plugins/gst-plugins-meta to try to pull needed plugins 1 file changed, 2 insertions(+), 1 deletion(-) Instead of adding deps on every plugin that could be used, you need to set the proper USEs to the meta plugins package (well, you probably have "pulseaudio" USE flag globally enabled and, then, it will be installed with that)