From e670476024e0bbd990a55d4ac26545d4bff083c8 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Thu, 14 Nov 2019 17:27:36 -0500 Subject: [PATCH] Mark conflicts between newer packages and Intel 14 compilers (#13729) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Mark compiler/version conflict for CMake Intel 14 lacks some C++11 features needed to compile new versions of cmake. ``` /tmp/s3j/spack-stage/spack-stage-cmake-3.15.5-46lgp4ybhopy2p4rr66rxnew5iaddvmg/spack-src/Source/ cm_static_string_view.hxx(28): error: expected an operator friend static_string_view operator"" _s(const char* data, size_t ^ ``` * Mark compiler/version conflict for icu4c With Intel 14.0.4 on Linux for icu4c 60.1 and higher: ``` locid.cpp(1156): error #1140: a using-declaration may not name a constructor or destructor using KeywordEnumeration::KeywordEnumeration; ``` * Mark compiler/version conflict for nasm Error installing `nasm@2.14.02%intel@14.0.4`: ``` In file included from nasmlib/crc64.c(35): ./include/nasmlib.h(116): error: expected a ";" fatal_func nasm_assert_failed(const char *, int, const char *); ``` * Mark compiler/version conflict for bison Installing `bison@3.4.2%intel@14.0.4`: ``` In file included from /tmp/s3j/spack-stage/spack-stage-bison-3.4.2- uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/quotearg.c(33): /tmp/s3j/spack-stage/spack-stage-bison-3.4.2-uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/ xalloc.h(51): warning #303: explicit type is missing ("int" assumed) extern _Noreturn void xalloc_die (void); ``` * Mark compiler/version conflict for icu4c With `icu4c@60.1%intel@16.0.4` and `icu4c@64.1%intel@16.0.4`: ``` In file included from ucurr.cpp(26): static_unicode_sets.h(130): error #913: invalid multibyte character sequence {POUND_SIGN, u'£'}, ^ ``` * Change conflict comments into messages --- var/spack/repos/builtin/packages/bison/package.py | 3 +++ var/spack/repos/builtin/packages/cmake/package.py | 2 ++ var/spack/repos/builtin/packages/icu4c/package.py | 3 +++ var/spack/repos/builtin/packages/nasm/package.py | 3 +++ 4 files changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py index 167171c54cf..d8d243302f6 100644 --- a/var/spack/repos/builtin/packages/bison/package.py +++ b/var/spack/repos/builtin/packages/bison/package.py @@ -31,6 +31,9 @@ class Bison(AutotoolsPackage): patch('pgi.patch', when='@3.0.4') + conflicts('%intel@:14', when='@3.4.2:', + msg="Intel 14 has immature C11 support") + if sys.platform == 'darwin' and macos_version() >= Version('10.13'): patch('secure_snprintf.patch', level=0, when='@3.0.4') diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index af4dff28b28..40f6ad18892 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -117,6 +117,8 @@ class Cmake(Package): # https://gitlab.kitware.com/cmake/cmake/issues/18166 conflicts('%intel', when='@3.11.0:3.11.4') + conflicts('%intel@:14', when='@3.14:', + msg="Intel 14 has immature C++11 support") phases = ['bootstrap', 'build', 'install'] diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py index 9af9085ea61..bc3ae24e304 100644 --- a/var/spack/repos/builtin/packages/icu4c/package.py +++ b/var/spack/repos/builtin/packages/icu4c/package.py @@ -29,6 +29,9 @@ class Icu4c(AutotoolsPackage): depends_on('python', type='build', when='@64.1:') + conflicts('%intel@:16', when='@60.1:', + msg="Intel compilers have immature C++11 and multibyte support") + configure_directory = 'source' def url_for_version(self, version): diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py index aa64098be3a..3aff3f759ef 100644 --- a/var/spack/repos/builtin/packages/nasm/package.py +++ b/var/spack/repos/builtin/packages/nasm/package.py @@ -22,3 +22,6 @@ class Nasm(AutotoolsPackage): # Fix compilation with GCC 8 # https://bugzilla.nasm.us/show_bug.cgi?id=3392461 patch('https://src.fedoraproject.org/rpms/nasm/raw/0cc3eb244bd971df81a7f02bc12c5ec259e1a5d6/f/0001-Remove-invalid-pure_func-qualifiers.patch', level=1, sha256='ac9f315d204afa6b99ceefa1fe46d4eed2b8a23c7315d32d33c0f378d930e950', when='@2.13.03 %gcc@8:') + + conflicts('%intel@:14', when='@2.14:', + msg="Intel 14 has immature C11 support")