Hi Elizabeth,

On 09/02/16 15:13, Elizabeth Fischer wrote:
On Macintosh, they've replaced LD_LIBRARY_PATH with DYLD_LIBRARY_PATH. However... EasyBuild-created Lmod modules don't set that variable, and things don't look at LD_LIBRARY_PATH. This makes things not work when you import modules.

They can be made to work as follows:
    module load my-module
    export DYLD_LIBRARY_PATH=LD_LIBRARY_PATH

Any thoughts on how to make this work on a Mac?  Ideas would be:

1. Create a wrapper script/command for the "module" command that sets DYLD_LIBRARY_PATH to LD_LIBRARY_PATH upon "module load."

2. Modify Lmod to do as in (1)

3. Modify EasyBuild to generate modules with DYLD_LIBRARY_PATH on Mac.

What do you think would be best?

I think the latter is the best option, but maybe *both* $DYLD_LIBRARY_PATH and $LB_LIBRARY_PATH should be defined on Mac? I seem to remember both are relevant (but I don't know which is relevant when).

Implementing this is fairly trivial: in the 'make_module_req_guess' method of easybuild/framework/easyblock.py, a check can be added to see whether we're on Darwin (using the provided functions in easybuild.tools.systemtools), and then the dictionary being returned can be extended with DYLD_LIBRARY_PATH.

Are you up for trying that yourself?


regards,

Kenneth

Reply via email to