On Sun, Dec 7, 2014 at 9:48 PM, Ludovic Courtès <l...@gnu.org> wrote: > Federico Beffa <be...@ieee.org> skribis: > >> currently the typelib files used by gobject-introspection can't find >> shared libraries and require setting LD_LIBRARY_PATH. > > I don’t know much about all this; could you give some context? What’s a > typelib files exactly?
gobject-introspection is a tool to create bindings to C libraries for other languages. To make the system flexible it creates an intermediate object. typelib files are a binary store on disk of this intermediate object. https://developer.gnome.org/gi/stable/overview.html > >> I would like to propose to adopt the attached patch from the nix folk >> which should fix that and refer to shared libraries by absolute path. > > Is the output of gir-scanner(?) used on the linker command line? > Normally, our ld-wrapper handles adding a RUNPATH for any library listed > as -l on the linker command line. It is one of the tools used to create the typelib files from the C libraries, but I do not know all the details. It is one of the tools used for example by gtk+, pango, atk, gkd-pixbuf to generate the content of the .../lib/girepository-1.0 directory. Given that it is written in python, I do not think that it is used on the linker command line. The problem I've found is that the typelib files include the name of required shared libraries (.so), but not the absolute path. Therefore I was forced to set the LD_LIBRARY_PATH. I was actually googling to find out how to instruct an application where to look for the typelib files, when I saw this email http://lists.science.uu.nl/pipermail/nix-dev/2014-September/014309.html and thought that we could borrow the approach. Regards, Fede