diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2021-02-17 17:54:50 -0600 |
---|---|---|
committer | Tamara Dahlgren <dahlgren1@llnl.gov> | 2021-02-17 17:07:48 -0800 |
commit | 3256f018eb6f6fd5d8f8b7f8c9693389e1944ce9 (patch) | |
tree | d1d00d59901a58b408abe276388feff59e867318 | |
parent | 2607bc5cff7cadb6a6048f9aaa64cd711edfe46d (diff) | |
download | spack-3256f018eb6f6fd5d8f8b7f8c9693389e1944ce9.tar.gz spack-3256f018eb6f6fd5d8f8b7f8c9693389e1944ce9.tar.bz2 spack-3256f018eb6f6fd5d8f8b7f8c9693389e1944ce9.tar.xz spack-3256f018eb6f6fd5d8f8b7f8c9693389e1944ce9.zip |
apple-clang: add correct path to compiler wrappers (#21662)
Follow-up to #17110
### Before
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/apple-clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```
### After
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```
`CC` and `SPACK_CC` were being set correctly, but `PATH` was using the name of the compiler `apple-clang` instead of `clang`. For most packages, since `CC` was set correctly, nothing broke. But for packages using `Makefiles` that set `CC` based on `which clang`, it was using the system compilers instead of the compiler wrappers. Discovered when working on `py-xgboost@0.90`.
An alternative fix would be to copy the symlinks in `env/clang` to `env/apple-clang`. Let me know if you think there's a better way to do this, or to test this.
-rw-r--r-- | lib/spack/spack/build_environment.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index a2eabbc3db..4806a11fc8 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -412,7 +412,7 @@ def set_build_environment_variables(pkg, env, dirty): # directory. Add that to the path too. env_paths = [] compiler_specific = os.path.join( - spack.paths.build_env_path, pkg.compiler.name) + spack.paths.build_env_path, os.path.dirname(pkg.compiler.link_paths['cc'])) for item in [spack.paths.build_env_path, compiler_specific]: env_paths.append(item) ci = os.path.join(item, 'case-insensitive') |