taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Ricardo Wurmus <rek...@elephly.net> skribis:
>>
>>> In packaging PCB I noticed that our Mesa package loads a few libraries
>>> with dlopen() but does not use absolute paths to store items.  In the
>>> case of PCB, dlopen("libudev.so.0") fails and causes "pcb" die on
>>> startup with a segfault.  To prevent this until the Mesa package is
>>> fixed I wrapped the executable.
>>
>> OK.  Feel free to fix MESA eventually.  :-)
>
> Is anyone working on this?  Otherwise I'll look into it because I
> noticed mplayer2 has the same issue.
>
> Some basic help is appreciated by the way.  How do we generally handle
> dlopen() uses in Guix?
>
> Does our rpath stuff not fix the issue, and why?

dlopen doesn't consult rpaths.

> When the argument is a literal string, I suppose we can patch it to be
> an absolute pathname.

Yes, when we can do this, it is usually the preferred approach.

> And when it's parameterized?  E.g. when a program
> uses a private wrapper function around dlopen(), then I guess I should
> track all uses of that wrapper function?

Ideally, yes.  However, it may not always be possible.

> How about when the program dlopen()s a library of its own?  Should it be
> made an absolute path to the package's output directory?

Ideally, yes.

     Thanks!
       Mark

Reply via email to