Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • S spinifel
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 35
    • Issues 35
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 7
    • Merge requests 7
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • MTIP
  • spinifel
  • Merge requests
  • !44

Draft: Install dependencies with Spack

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Elliott Slaughter requested to merge eds/spack into development Aug 05, 2022
  • Overview 1
  • Commits 1
  • Changes 8

This is my initial work on support for Spack.

Pros:

  • Spack provides a spack.yaml which makes it easy to configure the environment, and spack.lock makes sure everyone else gets the same results. No more divergence between different users.
  • I've configured Spack to reuse:
    • System compiler (GCC)
    • System MPI
    • Key system libraries (those which can be automatically discovered via spack external find --all, minus a few that cause issues in the build)

Cons:

  • Building from source takes a long time. The main culprit seems to be that, even with the autodetection I do, there are still a lot of basic libraries Spack tries to build. (This is even after trying to get Spack to autodetect everything it knows how to autodetect.) I'm trying to look deeper into whether Spack can autodetect more libraries, but this is still up in the air.
  • Certain LCLS libraries (like amityping) are not in PyPI. I'm working around this by pip install on the URL directly. We should contact the LCLS folks to get these into PyPI.

Outstanding issues:

  • https://github.com/spack/spack/issues/31959 (not strictly necessary for what I'm currently doing, but might be useful)
  • Unclear how to discover other packages (besides executables), see discussion at https://spackpm.slack.com/archives/C5W7NKZJT/p1659734369147249
Edited Aug 05, 2022 by Elliott Slaughter
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: eds/spack