Skip to content

Conversation

@Flamefire
Copy link
Contributor

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

…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
@Flamefire
Copy link
Contributor Author

Flamefire commented Apr 16, 2020

Tested in easybuilders/easybuild-easyconfigs#10397 with success

for d in ('bin', 'lib'):
src = os.path.join(arch_dir, d)
dst = os.path.join(self.installdir, d)
if os.path.exists(dst):
Copy link
Member

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?

Copy link
Contributor Author

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.

@boegel boegel added this to the next release (4.2.1?) milestone Apr 18, 2020
@boegel boegel changed the title [PDT/TAU] Generically find the arch folder and add top-level bin/lib symlinks generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks Apr 18, 2020
@Flamefire Flamefire force-pushed the fix_arch_folder_pdt_tau branch from b270802 to 5f2e082 Compare April 20, 2020 07:52
@Flamefire Flamefire force-pushed the fix_arch_folder_pdt_tau branch from 5f2e082 to e722ef1 Compare April 20, 2020 07:55
@Flamefire
Copy link
Contributor Author

Resolved discussions with changes implemented as requested @boegel Please double-check the open ones.

@Flamefire
Copy link
Contributor Author

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

@boegel
Copy link
Member

boegel commented May 19, 2020

Re-reviewed & tested with existing PDT easyconfigs, good to go, thanks @Flamefire!

@boegel boegel merged commit fcc7cc8 into easybuilders:develop May 19, 2020
@Flamefire Flamefire deleted the fix_arch_folder_pdt_tau branch May 19, 2020 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants