Telcon: 2016 03 17
Adam J. Stewart edited this page Mar 17, 2016
·
18 revisions
- Todd Gamblin (LLNL)
- Patrick Gartung (Fermilab)
- Ben Boeckel (Kitware)
- D'jay Deo (Kotware)
- Jim Galarowicz (Krell)
- Greg Becker (LLNL)
- Peter Scheibel (LLNL)
- Elizabeth Fischer (NASA)
- John Gash (LLNL)
- Brandon (NERSC)
- As usual, lots of contributions, see the pulse
- Github stats show over 7k views, 276 unique visitors in 2 weeks (getting busier)
- A number of issues with #120 have been fixed
- Better concretization has been merged #549
- Spack will do a more comprehensive search to find virtual that satisfy a spec without conflict
- Others: #531, #532
- New feature: sanity check paths
- prevent badly behaved builds from succeeding incorrectly
- PR #552 from Massimiliano Culpo (EPFL) adds enhanced module support (still WIP, expect it to be merged in soon)
- Refactors
setup_dependent_environment
into several functions - Intent is to unify env setup inside and outside Spack
- packager says what needs to be in the env, spack uses it to set up dependent environment before build and to generate modules.
- extendable packages like Python can set some default env module settings for their extensions.
- PR #378 Dependency types looks nearly done.
- Needs integration with PR #120 (externals)
- PR #561 being integrated by Greg Becker right now.
- This PR includes:
- Cray support
- finding compilers from modules in addition to paths
- New architecture support
- platform - OS - target
- platforms have compiler finding strategies
- Cray support
- Will be in soon, as well.
- Will likely cut a release before merging to develop as this changes config files.
-
Adam Stewart submitted WIP: PR #558 for Installing PGI compilers
-
Patrick Gartung asked how to use
mpicc
in Spack builds -- good question
- Will explain and document this better.
- @citibeth has put in WIP: PR #543
- Splits
install
intoconfigure
,build
,install
- Also adds a
spconfig
command that generates a script that can be used to configure a project as Spack would, but from outside spack. - This makes it easier to build external projects that depend on Spack
- particularly CMake ones
- feedback welcome!
- Patrick has issues with spack detecting homebrew's gcc 4.9.3
- Ongoing issues at some sites w/getting Intel compilers working properly.
- Would like to take a more detailed look at this once PR #561 (OS/platform/better compiler support) is merged
- Will allow sourcing intel env setup in Spack's
cc
- Lots of issues filed related to picking the proper version of things.
- Disabling/upgrading versions for security.
- Installing release candidates vs stable versions
-
packages.yaml
can help with this! See docs on concretization policies - more detailed ideas below for how to manage this going forward.
- Issues/missing features with #120 still to be fixed
- Missing "variants" functionality https://github.com/LLNL/spack/issues/540
- Want to manage concretization policies better.
-
Many levels of preferences:
- Default Spack stack (defaults)
- Site (spack repo) specific settings
- user-specific settings
- what is already installed
-
Proposal: Hierarchy of
packages.yaml
files, in precedence order (low to high)- Preferences in
package.py
files: all versions, optionalpreferred
/blacklist
keywords -
$spack/etc/spack/defaults/packages.yaml
: built in spack stack, upgraded over time. -
$spack/etc/spack/defaults/$platform/packages.yaml
: specialized overrides of builtin stack, per-platform -
$spack/etc/spack/site/packages.yaml
: allow to override defaults by site or repo -
$spack/etc/spack/site/$platform/packages.yaml
: arch-specific overrides per site. - Whatever is currently installed.
-
~/.spack/packages.yaml
: user can override site and other settings. -
~/.spack/$platform/packages.yaml
: arch-specific user settings.
- Preferences in
-
Could make the precedence customizable, e.g., config setting like this:
precedence: package, default, site, installed, user
-
Should have option to ignore installed packages entirely if desired.
- Allows users to force an install to snap to the current config settings.
-
Concretization based on what is already installed keeps the local environment stable.
- Need a mechanism to
spack update
or similar, to get to the latest version- potentially graft old installs to newer ones by symlinking them, esp. for security updates.
- Need a mechanism for
spack update blacklisted
to just get security patches. - See Guix grafts - we'd like something similar but using symlinks to prefixes.
- Need a mechanism to
- Comments/Discussion on StagedPackage? https://github.com/LLNL/spack/pull/543