Bug 4538 - Mixer plugin doesn't start, doesn't show in "New element"
: Mixer plugin doesn't start, doesn't show in "New element"
Status: RESOLVED WORKSFORME
Product: Xfce4-mixer
Panel Plugin
: 4.6.0
: All Linux
: Medium normal
: ---
Assigned To: dannym
:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2008-10-29 18:47 UTC by Mikid
Modified: 2009-07-14 20:26 UTC (History)
2 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Mikid 2008-10-29 18:47:18 UTC
On Arch linux, after upgrade to 4.4.3 the mixer plugin doesn't load. It doesn't
show in the add plugin dialog either, even though the xfce4-mixer package is
installed, /usr/lib/xfce4/xfce4/panel-plugins/xfce4-mixer-plugin does exist,
and has file date indicating that it was indeed updated with the 4.4.3 upgrade.
The mixer works OK if launched directly, only the plugin has problems.

Workaround: add an activator that launches mixer directly. Drawback: one-click
volume control is not available.
Comment 1 Robby Workman editbugs 2008-10-30 21:06:57 UTC
I think I see why, but I don't know why the why is.  ;-)
I'm not sure if I should file another bug, or just put the information here, so
I'll go with here and hope for the best.

Configured with --prefix=/usr --sysconfdir=/etc/xfce --enable-sound=alsa here,
I see this in the resulting /usr/share/xfce4/panel-plugins/xfce4-mixer.desktop
file:
X-XFCE-Exec=/usr/local/libexec/xfce4/panel-plugins/xfce4-mixer-plugin

This is on Slackware -current (development version), but on a 12.1 system, it's
done correctly.  I suspect that it might be related to autoconf and/or
automake.  On 12.1, there is autoconf 2.61 and automake 1.9.6, but in -current,
there is autoconf 2.63 and autmake 1.10.1

I can't test this at the moment, but perhaps passing --libdir=/usr/lib
--libexecdir=/usr/libexec will work around the problem.
Comment 2 Robby Workman editbugs 2008-10-30 21:10:17 UTC
Setting ARCH to all, as I'm on 32bit, while reporter is on 64bit
Comment 3 Mikid 2008-10-30 23:55:15 UTC
I just edited the path in xfce4-mixer.desktop. It works now, thanks Robby!
Comment 4 Robby Workman editbugs 2008-10-31 18:10:23 UTC
Just some more information -- I diffed the 4.4.2 and 4.4.3 sources, and
basically there's no changes of substance.  A few things stand out:

--- xfce4-mixer-4.4.2/configure 2007-11-17 13:44:49.000000000 -0600
+++ xfce4-mixer-4.4.3/configure 2008-10-26 17:45:21.000000000 -0500
@@ -1,12 +1,12 @@
 #! /bin/sh
-# From configure.in Id: configure.in.in 25574 2007-04-15 11:53:24Z olivier .
+# From configure.in Id: configure.in.in 28443 2008-10-26 21:09:10Z olivier .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xfce4-mixer 4.4.2.
+# Generated by GNU Autoconf 2.63 for xfce4-mixer 4.4.3.


^^^^ That's the version of autoconf on my system.


--- xfce4-mixer-4.4.2/Makefile.in       2007-11-17 13:44:48.000000000 -0600
+++ xfce4-mixer-4.4.3/Makefile.in       2008-10-26 17:45:20.000000000 -0500
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.


^^^^ That's the version of automake on my system.


I'm lost. No idea what's going wrong.  Adding --libdir and --libexecdir didn't
make any difference, and I didn't expect that it would -- config.log and
panel-plugins/Makefile show all the correct information.
Comment 5 dannym editbugs 2008-11-02 09:51:20 UTC
Weird...

What each external panel plugin does is:

--------------
# get full path into .desktop file
%.desktop.in: %.desktop.in.in
        sed -e "s^@EXTERNAL_PLUGIN_PATH@^$(libexecdir)/xfce4/panel-plugins^" \
                $< > $@
---------

So there isn't much complexity and I don't see how automake could botcher that
up (which is not to say it doesn't). 

So Robby is right that setting libexecdir should fix the problem.

Robby:

Did I get it right that you are able to reproduce the problem and even setting
libexecdir doesn't help fixing it?

If so, there's a file "xfce4-mixer.desktop.in.in", and the generated files
"xfce4-mixer.desktop.in", "xfce4-mixer.desktop". What does each contain and
what are their mtimes?

Maybe there was a left-over "xfce4-mixer.desktop" that was edited manually?

Strange...
Comment 6 Robby Workman editbugs 2008-11-02 19:32:48 UTC
Hey Danny :)

Setting --libexecdir=/usr/libexec indeed does NOT solve it.

There is indeed a stale panel-plugins/xfce4-mixer.desktop file present in the
source (Lionel Le Folgoc mentioned it on IRC a bit ago), so that's almost
surely the problem.  Why it didn't affect 4.4.2 in the same way is still
unknown :)

I'll run a test build after removing the stale .desktop file and report back;
probably will be tomorrow...
Comment 7 Robby Workman editbugs 2008-11-03 21:21:57 UTC
Okay, just had a user test the build after removing the .desktop file, and the
path is correct in the newly generated one.  

Long story short, for packagers who haven't already stumbled upon this one,
remove the "panel-plugins/xfce4-mixer.desktop" file from the source tarball
before you start the build process.
Comment 8 dannym editbugs 2009-01-11 16:15:41 UTC
Ok, thanks for investigating this :-)

Setting as "WORKSFORME" since there's nothing we could do to fix this without
butchering the make timestamps... 

but good to know that that can happen.

Sigh, automake...