Skip to content

add 'rpath' easyconfig parameter to enable use of RPATH regardless of EasyBuild configuration#2283

Open
boegel wants to merge 1 commit intoeasybuilders:developfrom
boegel:rpath_easyconfig_parameter
Open

add 'rpath' easyconfig parameter to enable use of RPATH regardless of EasyBuild configuration#2283
boegel wants to merge 1 commit intoeasybuilders:developfrom
boegel:rpath_easyconfig_parameter

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Aug 9, 2017

We already have an rpath toolchain option that can be used to selectively disable the use of RPATH even if EasyBuild is configured to use RPATH linking via --rpath.

In some cases, it may also be interesting to be able to selectively enforce the use of RPATH, regardless of how EasyBuild was configured; see for example easybuilders/easybuild-easyconfigs#4962 (review)

If the rpath easyconfig parameter is defined as True, RPATH linking is always performed, regardless of the EasyBuild configuration option --rpath.
If --rpath is used, RPATH linking is enabled, unless it's specifically disabled by setting the rpath toolchain option to False (True being the default value).

After implementing this, which was pretty straightforward, I'm starting to have 2nd thoughts about this approach, since having both an rpath toolchain option and easyconfig parameter (on top of the --rpath configuration option...) may lead to confusion...

@boegel boegel added this to the 3.4.0 milestone Aug 9, 2017
@boegel
Copy link
Copy Markdown
Member Author

boegel commented Aug 9, 2017

An alternate approach could be:

  • use None as default value for the rpath toolchain option, meaning honor the --rpath configuration setting
  • allow disabling using 'rpath': False in toolchainopts (already the case)
  • allow hard enabling using 'rpath': True in toolchainopts (regardless of --rpath)

That's probably a better approach... Thoughts @wpoely86, @pescobar, @JackPerdue, @jdonners?

@boegel boegel modified the milestones: 3.5.0, 3.4.0 Sep 4, 2017
@boegel boegel modified the milestones: 3.5.0, next release Dec 6, 2017
@boegel boegel modified the milestones: 3.5.1, 3.6.0 Jan 12, 2018
@boegel boegel modified the milestones: 3.5.2, 3.x Feb 22, 2018
@akesandgren
Copy link
Copy Markdown
Contributor

"Default" instead of "None" would be less confusing in my opinion but None is easier to code for.
and Enforce (or Enable) vs Disable is probably easier to understand compared to True/False, and can be turned into true/false in the actual code.

@akesandgren
Copy link
Copy Markdown
Contributor

@boegel Care to fix the conflicts?

@boegel boegel modified the milestones: 3.x, 4.x Feb 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants