diff options
author | Michael Kuhn <michael.kuhn@ovgu.de> | 2020-11-19 11:06:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-19 11:06:45 +0100 |
commit | 1b7a5e53a628e67e5d728a87f41b3b2612877522 (patch) | |
tree | c26726c768e021b5ad8cafa397af1545804e7d0f /var | |
parent | dd54cb4c7a245abb6d5be2570a8fc4ceffdf22f4 (diff) | |
download | spack-1b7a5e53a628e67e5d728a87f41b3b2612877522.tar.gz spack-1b7a5e53a628e67e5d728a87f41b3b2612877522.tar.bz2 spack-1b7a5e53a628e67e5d728a87f41b3b2612877522.tar.xz spack-1b7a5e53a628e67e5d728a87f41b3b2612877522.zip |
clang/llvm: fix version detection (#19978)
This PR fixes two problems with clang/llvm's version detection. clang's
version output looks like this:
```
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
```
This caused clang's version to be misdetected as:
```
clang@11.0.0
Target:
```
This resulted in errors when trying to actually use it as a compiler.
When using `spack external find`, we couldn't determine the compiler
version, resulting in errors like this:
```
==> Warning: "llvm@11.0.0+clang+lld+lldb" has been detected on the system but will not be added to packages.yaml [reason=c compiler not found for llvm@11.0.0+clang+lld+lldb]
```
Changing the regex to only match until the end of the line fixes these
problems.
Fixes: #19473
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/package.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 9c4cc444f5..f368cd72f9 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -243,11 +243,11 @@ class Llvm(CMakePackage, CudaPackage): def determine_version(cls, exe): version_regex = re.compile( # Normal clang compiler versions are left as-is - r'clang version ([^ )]+)-svn[~.\w\d-]*|' + r'clang version ([^ )\n]+)-svn[~.\w\d-]*|' # Don't include hyphenated patch numbers in the version # (see https://github.com/spack/spack/pull/14365 for details) - r'clang version ([^ )]+?)-[~.\w\d-]*|' - r'clang version ([^ )]+)|' + r'clang version ([^ )\n]+?)-[~.\w\d-]*|' + r'clang version ([^ )\n]+)|' # LLDB r'lldb version ([^ )\n]+)|' # LLD |