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