Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add 'rpath' toolchain option to selectively disable use of RPATH wrappers #2047

Merged
merged 3 commits into from
Dec 9, 2016

Conversation

boegel
Copy link
Member

@boegel boegel commented Dec 7, 2016

@pescobar this probably works, but needs to be tested. Can you give it a try?

I'll also look into a dedicated test for this.

@boegel boegel added this to the 3.0.2 milestone Dec 7, 2016
@boegel boegel mentioned this pull request Dec 7, 2016
18 tasks
@boegel boegel changed the title add 'rpath' toolchain option to selectively disable use of RPATH wrappers (WIP) add 'rpath' toolchain option to selectively disable use of RPATH wrappers Dec 7, 2016
@boegel boegel requested a review from JensTimmerman December 8, 2016 09:26
@boegel
Copy link
Member Author

boegel commented Dec 9, 2016

included tests indicate that this works as intended, so I'll go ahead and merge this to include it in the upcoming EasyBuild v3.0.2 (I consider not being able to selectively disable use of RPATH a bug, so this is a bug fix).

@pescobar let us know whether this works as expected for you when you find the time for it

@boegel boegel merged commit 7a39aa3 into easybuilders:eb302 Dec 9, 2016
@boegel boegel deleted the rpath_toolchainopt branch December 9, 2016 15:24
@pescobar
Copy link
Member

pescobar commented Dec 9, 2016

@boegel
Copy link
Member Author

boegel commented Dec 9, 2016

@pescobar urgh, indeed, the RPATH sanity check should of course also be checked if no RPATH'ing was done...

Try this patch?

diff --git a/easybuild/framework/easyblock.py b/easybuild/framework/easyblock.py
index dbce5c3..8aa5cb3 100644
--- a/easybuild/framework/easyblock.py
+++ b/easybuild/framework/easyblock.py
@@ -1982,7 +1982,7 @@ class EasyBlock(object):
         else:
             self.dry_run_msg("  (none)")
 
-        if build_option('rpath'):
+        if build_option('rpath') and self.toolchain.options.get('rpath', True):
             self.sanity_check_rpath()
 
     def _sanity_check_step(self, custom_paths=None, custom_commands=None, extension=False):

@pescobar
Copy link
Member

@boegel this patch doesn't seem to work
https://gist.github.com/anonymous/b1b63fb80ead6418a41c59126f7e6677#file-file1-txt-L2946

[easybuild@compilator easyconfigs]$ sed '1985q;d' $EBROOTEASYBUILD/lib/python2.6/site-packages/easybuild_framework-3.0.1-py2.6.egg/easybuild/framework/easyblock.py
        if build_option('rpath') and self.toolchain.options.get('rpath', True):

@boegel
Copy link
Member Author

boegel commented Dec 10, 2016

@pescobar I only patched the sanity_check_dry_run (which is only used under -x)...

Try this (I'll open a PR with a proper fix in a bit):

diff --git a/easybuild/framework/easyblock.py b/easybuild/framework/easyblock.py
index dbce5c3..49c2290 100644
--- a/easybuild/framework/easyblock.py
+++ b/easybuild/framework/easyblock.py
@@ -1982,7 +1982,8 @@ class EasyBlock(object):
         else:
             self.dry_run_msg("  (none)")
 
-        if build_option('rpath'):
+        print self.toolchain.options
+        if build_option('rpath') and self.toolchain.options.get('rpath', True):
             self.sanity_check_rpath()
 
     def _sanity_check_step(self, custom_paths=None, custom_commands=None, extension=False):
@@ -2051,7 +2052,7 @@ class EasyBlock(object):
         if fake_mod_data:
             self.clean_up_fake_module(fake_mod_data)
 
-        if build_option('rpath'):
+        if build_option('rpath') and self.toolchain.options.get('rpath', True):
             rpath_fails = self.sanity_check_rpath()
             if rpath_fails:
                 self.log.warning("RPATH sanity check failed!")

@boegel
Copy link
Member Author

boegel commented Dec 10, 2016

@pescobar proper fix + test that catches the bug in #2052

boegel added a commit that referenced this pull request Dec 12, 2016
sync develop with eb302 branch after merging #2047+#2052 & #2051
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.

3 participants