Hi, On Tue, 23 Jan 2018 at 13:00, Ricardo Wurmus <[email protected]> wrote:
>> When a python module needs to load a dynamic shared object, it looks in the >> path provided by *LD_LIBRARY_PATH*(1), but guix doesn't modify this >> environment >> variable to export the needed path for python. > > We cannot set this environment variable by default lest we break other > packages that may be installed. LD_LIBRARY_PATH is dangerous as it > tells the runtime linker to prefer libraries in the specified > directories. > > For Guix packages we use different means to embed store paths in > binaries, which are looked up at runtime. For binaries that’s achieved > with RUNPATH; for others we patch the sources to ensure that libraries > are not looked up merely by name but by absolute path. > > In your particular case (installing packages without Guix) I think the > best way is to manually set LD_LIBRARY_PATH on demand, or to set > LD_PRELOAD to the specific libraries that are required. > > In general, though, I recommend using Guix for package management and > development instead of virtualenv and pip. Regarding the improvements of ’guix import pypi’ since 2018, and because tweaking LD_LIBRARY_PATH is dangerous, I do not see what could be the next action to solve this. Therefore, I propose to close it. WDYT? Cheers, simon
