From a4cce9eb69048b082e0233499ec764d7c5abec0c Mon Sep 17 00:00:00 2001 From: Matthew LeGendre Date: Fri, 27 Mar 2015 13:58:57 -0700 Subject: Only convert -L to -Wl,-rpath, in compiler scripts if points into the spack install area This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths. --- lib/spack/env/cc | 2 +- lib/spack/spack/build_environment.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/spack/env/cc b/lib/spack/env/cc index 19ca31cace..5c431f5325 100755 --- a/lib/spack/env/cc +++ b/lib/spack/env/cc @@ -262,7 +262,7 @@ done # Include all -L's and prefix/whatever dirs in rpath for dir in "${libraries[@]}"; do - [ "$dir" != "." ] && rpaths+=("$dir") + [[ dir = $SPACK_INSTALL* ]] && rpaths+=("$dir") done rpaths+=("$SPACK_PREFIX/lib") rpaths+=("$SPACK_PREFIX/lib64") diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index d11e2e270c..487bb59a8f 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -52,6 +52,7 @@ SPACK_NO_PARALLEL_MAKE = 'SPACK_NO_PARALLEL_MAKE' SPACK_ENV_PATH = 'SPACK_ENV_PATH' SPACK_DEPENDENCIES = 'SPACK_DEPENDENCIES' SPACK_PREFIX = 'SPACK_PREFIX' +SPACK_INSTALL = 'SPACK_INSTALL' SPACK_DEBUG = 'SPACK_DEBUG' SPACK_SHORT_SPEC = 'SPACK_SHORT_SPEC' SPACK_DEBUG_LOG_DIR = 'SPACK_DEBUG_LOG_DIR' @@ -125,6 +126,9 @@ def set_build_environment_variables(pkg): # Install prefix os.environ[SPACK_PREFIX] = pkg.prefix + # Install root prefix + os.environ[SPACK_INSTALL] = spack.install_path + # Remove these vars from the environment during build becaus they # can affect how some packages find libraries. We want to make # sure that builds never pull in unintended external dependencies. -- cgit v1.2.3-60-g2f50