From 92229e46e38ea0f7be607ca8071924dc8a85531a Mon Sep 17 00:00:00 2001 From: Stephen Herbein Date: Tue, 11 Dec 2018 20:34:58 -0800 Subject: flux-core & flux-sched: fix compilation and dependencies (#10049) * flux-sched: fix compilation errors configure was being run twice becuase the staging symlinks were confusing autotools mirror flux-core in building in a subdirectory to avoid other common compilation problems, like the one in PR #3543 * flux-core: update dependencies munge is no longer a dependency provide hints for lua version so that `spack install flux-core` works "out-of-the-box". Currently, when no explicity version is provided, the concretizer attempts to use lua@5.3, which is invalid. Closes #10000 --- var/spack/repos/builtin/packages/flux-core/package.py | 6 ++++-- var/spack/repos/builtin/packages/flux-sched/package.py | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/flux-core/package.py b/var/spack/repos/builtin/packages/flux-core/package.py index 4dea197de2..2e3b1f3643 100644 --- a/var/spack/repos/builtin/packages/flux-core/package.py +++ b/var/spack/repos/builtin/packages/flux-core/package.py @@ -32,11 +32,13 @@ class FluxCore(AutotoolsPackage): depends_on("czmq@3.0.1:", when="@0.7:,master") depends_on("hwloc@1.11.1:1.99") depends_on("hwloc +cuda", when='+cuda') - depends_on("lua", type=('build', 'run', 'link')) + # Provide version hints for lua so that the concretizer succeeds when no + # explicit flux-core version is given. See issue #10000 for details + depends_on("lua@5.1:5.2.99", type=('build', 'run', 'link')) depends_on("lua@5.1:5.1.99", when="@0.1.0:0.9.0") depends_on("lua@5.1:5.2.99", when="@0.10.0:,master") depends_on("lua-luaposix") - depends_on("munge") + depends_on("munge", when="@0.1.0:0.10.0") depends_on("libuuid") depends_on("python", type=('build', 'run')) depends_on("python@2.7:2.99", when="@0.1.0:0.10.0") diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py index d3c424f716..1b01339b4c 100644 --- a/var/spack/repos/builtin/packages/flux-sched/package.py +++ b/var/spack/repos/builtin/packages/flux-sched/package.py @@ -19,6 +19,10 @@ class FluxSched(AutotoolsPackage): version('0.5.0', 'a9835c9c478aa41123a4e12672500052228aaf1ea770f74cb0901dbf4a049bd7d329e99d8d3484e39cfed1f911705030b2775dcfede39bc8bea59c6afe2549b1') version('0.4.0', '82732641ac4594ffe9b94ca442a99e92bf5f91bc14745af92203a887a40610dd44edda3ae07f9b6c8d63799b2968d87c8da28f1488edef1310d0d12be9bd6319') + # Avoid the infinite symlink issue + # This workaround is documented in PR #3543 + build_directory = 'spack-build' + variant('cuda', default=False, description='Build dependencies with support for CUDA') depends_on("boost+graph", when='@0.5.0:,master') @@ -52,7 +56,10 @@ class FluxSched(AutotoolsPackage): def autoreconf(self, spec, prefix): self.setup() - if not os.path.exists('configure'): + if os.path.exists(self.configure_abs_path): + return + # make sure configure doesn't get confused by the staging symlink + with working_dir(self.configure_directory): # Bootstrap with autotools bash = which('bash') bash('./autogen.sh') -- cgit v1.2.3-60-g2f50