-
Notifications
You must be signed in to change notification settings - Fork 305
generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks #2029
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
generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks #2029
Conversation
…symlinks The arch folder is not $(uname -m), but determined by some custom if-chain So short of parsing the configure output we simply symlink the bin/lib folder of any folder containing those into the top-level folder. This is what Spack does too so it is verified already This fixes build on e.g. Power9
|
Tested in easybuilders/easybuild-easyconfigs#10397 with success |
easybuild/easyblocks/t/tau.py
Outdated
| for d in ('bin', 'lib'): | ||
| src = os.path.join(arch_dir, d) | ||
| dst = os.path.join(self.installdir, d) | ||
| if os.path.exists(dst): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're not checking here whether the existing path is a symlink (and if it is, what the target is).
What if a bin directory is added in some future version of Tau? That would mean trouble here, so it shouldn't be brushed over, but should raise an error instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed it to lexists which also checks for broken symlinks. The message was changed to info instead of debug.
If it is added and is correct all is good, sanity check covers the case where it points/contains something wrong.
b270802 to
5f2e082
Compare
5f2e082 to
e722ef1
Compare
|
Resolved discussions with changes implemented as requested @boegel Please double-check the open ones. |
|
FWIW: Score-P and PDT build successfully with this. For TAU we only have an ancient EC that doesn't even work out of the box. But fixing the unrelated errors and omitting OTF (that version of TAU uses wrong names) it also builds. So I assume that no regressions are introduced |
|
Re-reviewed & tested with existing PDT easyconfigs, good to go, thanks @Flamefire! |
The arch folder is not $(uname -m), but determined by some custom if-chain
So short of parsing the configure output we simply symlink the bin/lib folder
of any folder containing those into the top-level folder.
This is what Spack does too so it is verified already
This fixes build on e.g. Power9