summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAxel Huebl <axel.huebl@plasma.ninja>2020-04-22 17:41:33 -0700
committerGitHub <noreply@github.com>2020-04-22 19:41:33 -0500
commitd0bff870a6b3af5122c251d697c6d5a3f221d96c (patch)
treea68cabf06cb4a01eac41240796266ef526ffbf01 /var
parent4166c97a8263f0314836963a049b8adf3fdf2c05 (diff)
downloadspack-d0bff870a6b3af5122c251d697c6d5a3f221d96c.tar.gz
spack-d0bff870a6b3af5122c251d697c6d5a3f221d96c.tar.bz2
spack-d0bff870a6b3af5122c251d697c6d5a3f221d96c.tar.xz
spack-d0bff870a6b3af5122c251d697c6d5a3f221d96c.zip
macOS+GCC: Conflicts CMake, libuv, CPython (#16249)
The major building blocks in many software stacks: - CPython - CMake (libuv) do not build on macOS with GCC. The main problem is that some macOS framework includes pull in objective-c code and that code does get misinterpreted as (invalid) C by GCC by default.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py7
-rw-r--r--var/spack/repos/builtin/packages/libuv/package.py6
-rw-r--r--var/spack/repos/builtin/packages/python/package.py6
3 files changed, 19 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index ce436d2ea9..cc69eac5f7 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -92,6 +92,13 @@ class Cmake(Package):
variant('openssl', default=True, description="Enables CMake's OpenSSL features")
variant('ncurses', default=True, description='Enables the build of the ncurses gui')
+ # Tries to build an Objective-C file from libuv with GCC's C frontend
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/20620
+ # https://github.com/libuv/libuv/issues/2805
+ conflicts('%gcc platform=darwin',
+ msg='CMake does not compile with GCC on macOS yet, use clang. '
+ 'See: https://gitlab.kitware.com/cmake/cmake/-/issues/20620')
+
# Really this should conflict since it's enabling or disabling openssl for
# CMake's internal copy of curl. Ideally we'd want a way to have the
# openssl variant disabled when ~ownlibs but there's not really a way to
diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py
index 55d7dcebba..309270a3ff 100644
--- a/var/spack/repos/builtin/packages/libuv/package.py
+++ b/var/spack/repos/builtin/packages/libuv/package.py
@@ -19,6 +19,12 @@ class Libuv(AutotoolsPackage):
depends_on('autoconf', type='build')
depends_on('libtool', type='build')
+ # Tries to build an Objective-C file with GCC's C frontend
+ # https://github.com/libuv/libuv/issues/2805
+ conflicts('%gcc platform=darwin',
+ msg='libuv does not compile with GCC on macOS yet, use clang. '
+ 'See: https://github.com/libuv/libuv/issues/2805')
+
def autoreconf(self, spec, prefix):
# This is needed because autogen.sh generates on-the-fly
# an m4 macro needed during configuration
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 8270ce7329..fd7438d605 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -166,6 +166,12 @@ class Python(AutotoolsPackage):
# https://github.com/python/cpython/pull/16717
patch('intel-3.6.7.patch', when='@3.6.7:3.6.8,3.7.1:3.7.5 %intel')
+ # CPython tries to build an Objective-C file with GCC's C frontend
+ # https://github.com/spack/spack/pull/16222
+ # https://github.com/python/cpython/pull/13306
+ conflicts('%gcc platform=darwin',
+ msg='CPython does not compile with GCC on macOS yet, use clang. '
+ 'See: https://github.com/python/cpython/pull/13306')
# For more information refer to this bug report:
# https://bugs.python.org/issue29712
conflicts(