Bug #1123
Modules not found when installed via GNU stow or graft
0%
Description
When Audacious is installed via GNU stow
(or the similar graft
utility), it refuses to start because it can't find its modules (which are typically installed in a different stow directory when using these utilities). The attached trivial patch fixes this issue by falling back to set_default_paths()
in static void set_install_paths()
(src/libaudcore/runtime.cc
, lines 205ff) if the detected get_path_to_self()
contains "/stow/"
or "/graft/"
.
[zlatko@disclosure:~]$ which audacious /usr/local/bin/audacious [zlatko@disclosure:~]$ realpath /usr/local/bin/audacious /usr/local/stow/audacious-4.1/bin/audacious [zlatko@disclosure:~]$ ls -la /usr/local/bin/audacious lrwxrwxrwx 1 root root 35 Jul 7 17:17 /usr/local/bin/audacious -> ../stow/audacious-4.1/bin/audacious [zlatko@disclosure:~]$ ls -l /usr/local/lib/audacious/Transport/ total 84 -rwxr-xr-x 1 root root 23808 Jul 9 05:56 gio.so -rwxr-xr-x 1 root root 13604 Jul 9 05:56 mms.so -rwxr-xr-x 1 root root 43416 Jul 9 05:56 neon.so [zlatko@disclosure:~]$ realpath /usr/local/lib/audacious/Transport /usr/local/stow/audacious-plugins-4.1/lib/audacious/Transport [zlatko@disclosure:~]$ ls -l /usr/local/lib/audacious/Transport lrwxrwxrwx 1 root root 56 Jul 8 05:56 /usr/local/lib/audacious/Transport -> ../../stow/audacious-plugins-4.1/lib/audacious/Transport
History
#1
Updated by John Lindgren over 3 years ago
- Status changed from New to Rejected
Not a bug. Audacious and Audacious Plugins need to be installed under the same prefix.
We don't support stow specifically (I had never heard of it until now), but perhaps it would be best to make a single stow package containing both Audacious and Audacious Plugins?
#2
Updated by Thomas Zajic over 3 years ago
John Lindgren wrote:
Not a bug. Audacious and Audacious Plugins need to be installed under the same prefix.
We don't support stow specifically (I had never heard of it until now), but perhaps it would be best to make a single stow package containing both Audacious and Audacious Plugins?
Nevermind, no problem. I'll keep it around as a local patch for personal use, then. :-)
Using one common stow dir would work as well, yes, as long as the two packages always come in matched pairs. If/when they start diverging (ie. audacious-plugins-4.1.1
gets released because of a bug fix, while audcaious-4.1
stays the same), then sorting stuff out manually becomes cumbersome. And this is exactly where tools like stow
or graft
shine.
Would you reconsider accepting the patch if I made it more elaborate, like adding an --enable-stow-hack
option to the autotools/configure
and meson/ninja
setup (which would default to "no", of course), and then wrapping the actual patch in a corresponding #ifdef/#else/#endif
in the source code? I'm not sure whether that would actually be worth the effort (as opposed to keeping a local one-liner diff
around), but it could be a fun little mini-side-project if time permits. But if you say no either way, that would be okay as well. ;-)