diff --git a/lib/spack/spack/compilers/clang.py b/lib/spack/spack/compilers/clang.py index 79353b0d1de..e6970d4f497 100644 --- a/lib/spack/spack/compilers/clang.py +++ b/lib/spack/spack/compilers/clang.py @@ -206,6 +206,7 @@ def extract_version_from_output(cls, output): r'^Apple LLVM version ([^ )]+)|' # Normal clang compiler versions are left as-is r'clang version ([^ )]+)-svn[~.\w\d-]*|' + r'clang version ([^ )]+)-[~.\w\d-]*|' r'clang version ([^ )]+)', output ) diff --git a/lib/spack/spack/test/compilers.py b/lib/spack/spack/test/compilers.py index 39b44fbcb97..b9e2465e250 100644 --- a/lib/spack/spack/test/compilers.py +++ b/lib/spack/spack/test/compilers.py @@ -322,6 +322,10 @@ def test_fj_flags(): ('clang version 3.1 (trunk 149096)\n' 'Target: x86_64-unknown-linux-gnu\n' 'Thread model: posix\n', '3.1'), + ('clang version 8.0.0-3~ubuntu18.04.1 (tags/RELEASE_800/final)\n' + 'Target: x86_64-pc-linux-gnu\n' + 'Thread model: posix\n' + 'InstalledDir: /usr/bin\n', '8.0.0') ]) def test_clang_version_detection(version_str, expected_version): version = compilers.clang.Clang.extract_version_from_output(version_str)