On Sat, 14 Mar 2020 02:14:45 +0100
Jan Wielkiewicz wrote:
> Hello,
>
Hi Jan,
> I'm trying to package the audacious music player, but I encountered a
> problem - in the source directory there are libraries used by
> audacious that is: libaudgui, libaudtag, audtool, libaudcore,
> libaudqt and libguess.
>
> When build without modifying the source, I get the following error:
> validating RUNPATH of 3 binaries in
> "/gnu/store/6ihw9w6ibs33k6v9dyqxblddwdvyx11m-audacious-3.10.1/lib"...
> /gnu/store/6ihw9w6ibs33k6v9dyqxblddwdvyx11m-audacious-3.10.1/lib/libaudgui.so:
> error: depends on 'libaudcore.so.5', which cannot be found in RUNPATH
>
> So I tried decoupling it, by making libaudcore package, packaging
> libguess and adding it as libaudcore's input, but it still wants
> to have the file there:
>
> g++: error: ../libguess/libguess.a: No such file or directory
> Failed to link libaudcore.so!
>
> How to do this correctly?
>
You can see my own attempt at packaging audacious a few months ago here
[0]. In the list of configure flags, you'll note that I included a
configure flag that roughly equates to
"LDFLAGS=-Wl,-rpath=/gnu/store/...audacious-3.10.1/lib". This configure
flag passes a flag ("-rpath") to the linker (through "-Wl") which ensures
that any libraries in the given folder are included in the RUNPATH of any
binaries or libraries. If you do this, your error *should* disappear.
> P.S. Still waiting for pjproject in Jami to be bumped, they're also
> fixing some annoying bugs.
>
>
> Jan Wielkiewicz
>
[0]: https://issues.guix.gnu.org/issue/37329
Kei Kebreau