You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the EESSI hackathon we started to work on an issue when building Software with RPATH-enabled compiler modules.
As a user, I don't really want to untangle the RPATHs for the modules library, when I am building my own code. So we thought the already existing RPATH wrappers could be automatically loaded when loading an RPATH enabled compiler module. (configurable as an easyconfig-option!)
In this issue I want to track a couple of changes that are required on the framework side, to allow modules to ship RPATH wrapper scripts when they are loaded.
Add conditional statement for environment variables. Then we can ignore rpath wrappers while loading a module if something like DISABLE_RPATH_WRAPPERS is set
Ensure that wrappers are not put into $PATH if module is used within EasyBuild
Add function parameter to prepare_rpath_wrappers to install wrappers in a caller-given directory
Return directory path where wrappers were installed
Add option to put all wrapper scripts in a single directory (with no subdirs like gcc_wrapper/gcc)
Don't write rpath_wrapper_log to tempfile.gettempdir() if debug is set. This location does not necessarily exist if a module is loaded with the wrapper scripts in place
Add option to read env variables RPATH_INCLUDE_DIRS and RPATH_FILTER_DIRS variables, to include/exclude directories in wrapper script (as comma-separated list) at runtime
Figure out a useful way to treat logging in rpath_wrapper_template.sh.in. Otherwise this will try to log to possibly non-existing /tmp/-dirs or similar
Add create_rpath_wrappers(), probably in toolchain.py(?):
Refactor create_rpath_wrappers from easybuild-easyblocks/pull/2638 into a more generic location within framework. This is probably used for other compilers in the future as well
In the EESSI hackathon we started to work on an issue when building Software with RPATH-enabled compiler modules.
As a user, I don't really want to untangle the RPATHs for the modules library, when I am building my own code. So we thought the already existing RPATH wrappers could be automatically loaded when loading an RPATH enabled compiler module. (configurable as an easyconfig-option!)
In this issue I want to track a couple of changes that are required on the framework side, to allow modules to ship RPATH wrapper scripts when they are loaded.
There are a couple of open points to address:
module_generator.py
(@boegel):DISABLE_RPATH_WRAPPERS
is set$PATH
if module is used within EasyBuildprepare_rpath_wrappers()
intoolchain.py
(@stderr-enst):prepare_rpath_wrappers
to install wrappers in a caller-given directorygcc_wrapper/gcc
)rpath_wrapper_log
totempfile.gettempdir()
ifdebug
is set. This location does not necessarily exist if a module is loaded with the wrapper scripts in placerpath_wrapper_template.sh.in
:RPATH_INCLUDE_DIRS
andRPATH_FILTER_DIRS
variables, to include/exclude directories in wrapper script (as comma-separated list) at runtimecreate_rpath_wrappers()
, probably intoolchain.py
(?):create_rpath_wrappers
from easybuild-easyblocks/pull/2638 into a more generic location within framework. This is probably used for other compilers in the future as wellRelated PRs:
The text was updated successfully, but these errors were encountered: