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