Start using paths found in extra_rpaths in compilers.yaml when building#35376
Start using paths found in extra_rpaths in compilers.yaml when building#35376tgamblin merged 3 commits intospack:developfrom
Conversation
natshineman
left a comment
There was a problem hiding this comment.
Confirming the maintainer change: Matt is now full time staff and will be working on all things Spack related, while Nick is transitioning to more of his research as a PhD student.
|
This can be merged. I am not sure why this is not still being automatically taken in. |
| args.append("--disable-registration-cache") | ||
|
|
||
| ld = "" | ||
| for path in itertools.chain(self.compiler.extra_rpaths, self.compiler.implicit_rpaths()): |
There was a problem hiding this comment.
Why is this necessary? Spack's compiler wrapper adds those rpaths through the compiler wrapper. If not, then the compiler wrapper is not used, which is a problem.
There was a problem hiding this comment.
We received a bug report from @nhanford that the rpath's were not correctly being added to MVAPICH's compiler wrappers. This was an attempt to resolve that. Perhaps Nate can weigh in if we went about this in a method different from what he was thinking?
There was a problem hiding this comment.
We run filter_compiler_wrappers on the installed mpicc, etc., because the Spack wrappers cannot be executed outside of Spack's build environment, so you want your mpicc to execute with the real compiler. If the real compiler needed extra RPATHs in Spack, it likely needs them outside Spack, so it makes a lot of sense (to me) that we'd make the wrappers add these paths.
Spack-installed MPIs are not expected to be run just by Spack -- you want them to work with module load, spack load, envs., etc. too.
becker33
left a comment
There was a problem hiding this comment.
I agree that we need these for the mvapich2 compiler wrappers to work properly when run from outside spack.
I've double checked on the compiler implicit rpaths and we already filter out system paths from that variable, so we won't be adding unreasonable rpaths to system locations.
…ng (spack#35376) * Start using paths found in extra_rpaths in compilers.yaml when building * running black and changing maintainer list * changing import order to pass isort --------- Co-authored-by: Matthew Lieber <[email protected]>
When built MVAPICH will now use the paths found in extra rpaths within the compilers.yaml file