[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ocaml compiled binaries and rpath



Remi Vanicat <vanicat@labri.u-bordeaux.fr> writes:

> Sven Luther <luther@dpt-info.u-strasbg.fr> writes:
>
>> On Wed, Apr 16, 2003 at 12:27:59AM +0200, Denis Barbier wrote:
>>> This was for the libc migration.
>>> 
>>> AFAICT OCaml situation is very different:
>>>  * library location is not well established
>>
>> Yes and no. We standardized the dll.so location in the stublibs
>> directory, and most of the time this is enough. Users or rogue packages
>> can still install stuff all over the place.
>>
>> But i have the feeling that that the rpath is not really there to find
>> the stublibs, which are found by the ocaml ld.conf file, but to find the
>> C libraries these stublibs wrap, and this is why directories like
>> /usr/lib and /usr/X11R6/lib are used. And especially you are not
>> supposed to link a stublib from another.
>
> This in not completely true. One could want to write a binding for a
> gtk widget not in lablgtk, without having to modify lablgtk, while
> using some of the lablgtk function. Then it could be useful to link
> the new stublib to the lablgtk one.

I've just look to the rpath one can found into the dll of 
/usr/lib/ocaml/3.06/stublibs :
the directories are : /usr/lib /usr/local/lib /usr/X11R6/lib
/usr/lib/ocaml/3.06/stublibs. The first 3 are not useful (I think),
but the last one seem to be needed. 
For example lablgtkmathview have a rpath to
/usr/lib/ocaml/3.06/stublibs, and if one remove the rpath using
chrpath, then it won't work anymore (the toplevel won't load it,
because it won't find libmlgdome.so). I've just make the test.

But for example libmlgdome.so have a rpath only to /usr/lib and seem
to still work after I've remove it. (I've done a lot of test, but it
is still loaded by the toplevel).


[...]


-- 
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat



Reply to: