Hello!

Catonano <caton...@gmail.com> skribis:

> Thanks to Snape I could find objdump and attempt what is suggested here
> https://en.wikipedia.org/wiki/Rpath
>
> me@my-machine /gnu/store/zv2c9mbs4q7f75p9xlgxs62fb5wmp3ac-granite-0.4.0.1$
> objdump -a -x bin/granite-demo | grep NEEDED
>   NEEDED               libgranite.so.3  <--- here it is
>   NEEDED               libgtk-3.so.0
>   NEEDED               libgdk-3.so.0
>   NEEDED               libpangocairo-1.0.so.0
>   NEEDED               libpango-1.0.so.0
>   NEEDED               libatk-1.0.so.0
>   NEEDED               libcairo-gobject.so.2
>   NEEDED               libcairo.so.2
>   NEEDED               libgdk_pixbuf-2.0.so.0
>   NEEDED               libgio-2.0.so.0
>   NEEDED               libgthread-2.0.so.0
>   NEEDED               libgee-0.8.so.2
>   NEEDED               libgobject-2.0.so.0
>   NEEDED               libglib-2.0.so.0
>   NEEDED               libm.so.6
>   NEEDED               libgcc_s.so.1
>   NEEDED               libc.so.6
>
>
> and
>
> me@my-machine /gnu/store/zv2c9mbs4q7f75p9xlgxs62fb5wmp3ac-granite-0.4.0.1$
> objdump -a -x bin/granite-demo | grep RPATH

You should grep for RUNPATH, and I guess that will show that
/gnu/store/zv2c9mbs4q7f75p9xlgxs62fb5wmp3ac-granite-0.4.0.1/lib is *not*
in there, even though it should (if it’s not in RUNPATH, then launching
‘granite-demo’ will result in a “library not found” error, which is what
this validation phase wants to avoid.)

To fix this, you need to make sure the link command for ‘granite-demo’
has an explicit -lgranite or similar; ld-wrapper will take care of
adding the corresponding -rpath switch.

HTH!  If needed, we can discuss it further on IRC.

Ludo’.

Reply via email to