diff --git a/var/spack/repos/builtin/packages/oce/package.py b/var/spack/repos/builtin/packages/oce/package.py index 36b58269f156b9d26d823975018253adb49d5861..950621da40ac1bb56669a8b0fe3a133f1e026891 100644 --- a/var/spack/repos/builtin/packages/oce/package.py +++ b/var/spack/repos/builtin/packages/oce/package.py @@ -87,7 +87,11 @@ def install(self, spec, prefix): '-DOCE_OSX_USE_COCOA:BOOL=ON', ]) - options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix) + if '.'.join(platform.mac_ver()[0].split('.')[:2]) == '10.12': + # use @rpath on Sierra due to limit of dynamic loader + options.append('-DCMAKE_MACOSX_RPATH=ON') + else: + options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix) cmake('.', *options) make("install/strip") diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index aed722814b1266ff3604820c9b65ecd904e6fe18..5f8c2debb0582e8696b09127425d075305780afb 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -25,6 +25,7 @@ from spack import * import os import sys +import platform # Trilinos is complicated to build, as an inspiration a couple of links to # other repositories which build it: @@ -171,10 +172,15 @@ def cmake_args(self): '-DLAPACK_LIBRARY_DIRS=%s' % ';'.join(lapack.directories), '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON', '-DTrilinos_ENABLE_CXX11:BOOL=ON', - '-DTPL_ENABLE_Netcdf:BOOL=ON', - '-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix + '-DTPL_ENABLE_Netcdf:BOOL=ON' ]) + if '.'.join(platform.mac_ver()[0].split('.')[:2]) == '10.12': + # use @rpath on Sierra due to limit of dynamic loader + options.append('-DCMAKE_MACOSX_RPATH=ON') + else: + options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix) + # Force Trilinos to use the MPI wrappers instead of raw compilers # this is needed on Apple systems that require full resolution of # all symbols when linking shared libraries