Add extra_rpaths to OpenMPI wrappers (#8687)
If the OpenMPI build finds the infiniband drivers in /usr/lib64, it adds -Wl,-rpath -Wl,/usr/lib64 to the OpenMPI wrappers. If the wrappers are using a compiler outside of /usr, and the OpenMPI wrappers are used to build software outside of Spack, they will rpath /usr/lib64 into the executable which then has GLIBC, GLIBCXX runtime errors due to it picking up GCC libraries in /usr/lib64. This adds the directories specified in "extra_rpaths" to the OpenMPI wrappers, which allows them to use the correct compiler when invoked outside of Spack builds.
This commit is contained in:
parent
13cf6d55e4
commit
15d96f0166
@ -342,6 +342,13 @@ def configure_args(self):
|
|||||||
'--enable-shared',
|
'--enable-shared',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Add extra_rpaths dirs from compilers.yaml into link wrapper
|
||||||
|
rpaths = [self.compiler.cc_rpath_arg + path
|
||||||
|
for path in self.compiler.extra_rpaths]
|
||||||
|
config_args.extend([
|
||||||
|
'--with-wrapper-ldflags={0}'.format(' '.join(rpaths))
|
||||||
|
])
|
||||||
|
|
||||||
# According to this comment on github:
|
# According to this comment on github:
|
||||||
#
|
#
|
||||||
# https://github.com/open-mpi/ompi/issues/4338#issuecomment-383982008
|
# https://github.com/open-mpi/ompi/issues/4338#issuecomment-383982008
|
||||||
|
Loading…
Reference in New Issue
Block a user