Skip to content
Todd Gamblin edited this page Dec 17, 2015 · 10 revisions

Participants

  • Todd Gamblin
  • Mark Miller
  • Mike Collette
  • François Bissey
  • Peter Scheibel
  • Jim Galarowicz
  • David Shrader
  • Greg Becker
  • Ray Loy
  • Matt Legendre
  • Ben Boeckel
  • Adam Moody
  • Mario Melara
  • Greg Lee

News & Contributions

  1. Lots of new contributors after SC (thanks everyone!)
  • many PRs from new users (Erik Schnetter submitted many PRs right after the talk!)
  • Need to merge his fix for lib order in cc wrappers (195)
    • Need to test and merge it with a similar internal fix we have
  1. New users on the mailing list (from EPFL, ANL, many others)
  2. We moved to github.com/llnl/spack
  • update your remotes!
  1. Greg Becker & Mario Melara report that Cray integration is working well on NERSC machines.
  • NERSC is making packages for Cori now.
    • this is going well, need module-based externals
  • Will come with module-based compiler detection & support.
  • Mario had a "spackdown" at NERSC
    • Gave Spack tutorial to NERSC users
    • notified people of the google group and telcon

To be merged

  1. PR 210: multiple repositories is going to be merged soon.
  • restructures /var/spack/packages to /var/spack/repos/builtin
  • allows for separate repository directories & package namespaces
  • can directly import one package from another via namespaces (e.g., import spack.pkg.builtin.mpich)
  1. PR 120: External dependencies
  • Depend on system MPI, other packages.
  1. Many updates and conversations from the folks at EPFL
  • PR 208: multiple tarballs per package
    • Looks good -- needs testing and will be merged.
  • Many package updates (mvapich2, fftw, gnuplot, others...)
  1. Spack test XML output with nose 202
  • Spack test-install command already merged
  1. Externals now added directly to sys.path (Peter Scheibel)
  • needed for nose
  • no more from external import argparse

Already merged

  1. PR 86: Open|SpeedShop and associated packages
  2. Qt and paraview updates from Ben Boeckel (164, 165, 166, 168)
  • Build Paraview on catalyst
  • Working on vulcan with xlc
    • Ran into issues with libtool + xl (see below)
  • Working on OS X version
  1. Scogland submitted shell arg handling fix for zsh (205)
  • I need to test with bash -- if someone could do that and sign off before I get to it, it would be nice.
  1. Greg Lee added -D flag: run Spack under pdb

Bug fixes

  1. Package cache hashing
  2. Issue 206, 238, 217: issues with uninstall failing.
  • Most of these were related to the way specs are read in from the database.
  1. Issue 209: Fixed bug in some virtual dependency handling
  • satisfies() was not working right with multiple vdeps.
  1. Issue 203: Figured out some issues with gcc builds
  • 5.3.0 should now build properly
  • Issues were with RPATHs passed to the internal bootstrap in gcc

Other Bugs

  • Issues with libtool using a compiler's name to deduce flags (François Bissey)
  • Issue 244
    • Remaining issue relates to handling packages that conditionally extend others.

Work in Progress (WIP)

  • Greg and Mario to work on:
    • Using modules as external packages (on cray)
      • auto-load modules to load system MPI
    • Adding sourceme files to compilers (e.g. load Intel's compilervars.sh automatically)
  • Custom compiler flags (Greg Becker authored, Todd thinking about merging)
  • Better PGI & XL compiler support in Boost (Peter Scheibel)
  • Paraview (Kitware, Ben Boeckel)

Discussion

  • Sorry if I failed to mention anything above -- community continues to grow!
  • People want us to test on Macs -- I'd like to
    • Seeing about getting some Mac build agents at LLNL -- likely not happening short-term
    • Mark M.: AWS may offer mac build bots
    • Todd: also want Ubuntu build bots; could do those over AWS
  • Discuss improving package debug-ability
    • Matt: spack packages can be difficult to debug
      • source code is gone after build, so DWARF points at source that doesn't exist
      • Things Matt is working on:
        1. Make more packages support +debug option.
        • support in a common way for autotools, cmake
        • allow override for arbitrary Makefile builds.
        • would enable debug flags per package
        • Matt: Need to make some default policy decisions about what comes with +debug
          • allow configuration w/reasonable defaults
        1. Figure out how best to manage source location & storage
  1. Supporting +debug

    • Mark: is this just about flags or also other package options?
      • Matt: other options, too
        • many packages have extra features they turn on with, e.g., -DDEBUG
        • want to allow package author to support these.
    • Matt: if we support Windows, +debug flag needs to propagate to all dependencies there.
    • Matt:
      • To do standard stuff, we need to know whether a package is using autotools or cmake.
      • Options for how to implement this:
        1. Extend a subclass of Package, e.g. AutotoolsPackage
        • weakness: some packages have 2 builds. need this to be conditional like everything else
        1. In-package directive, with when clauses like other directives
        • could function like a mix-in in Ruby (kind of like other directives)
    • Mark: Make sure that +opt and +debug are separate.
      • Matt: that is the intent, just need to decide default for each.
  2. Managing source for debugging.

  • Want to automatically save the source somehow after build
    • Don't want to leave the object files around
    • need to build with source in a way so that DWARF paths are valid after install
      • Can build out of $prefix/.spack but it's not fast like /tmp
      • Ben: strip can change the paths used in debug information
        • may need to build with artificially long paths so you can trim later.
  • Proposal for how to do this right:
    1. Create longer stage directory path.
    2. Build & install out of stage.
    3. Scan DWARF of binaries in prefix for source paths.
    4. Copy all Referenced source into $prefix/.spack/src
    5. Use strip to rename paths in the installed binaries
Clone this wiki locally