On Sat, 14 Mar 2020 02:14:45 +0100 Jan Wielkiewicz <tona_kosmicznego_smie...@interia.pl> 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