Skip to content
Peter Scheibel edited this page Aug 25, 2021 · 21 revisions

Attendees

  • Todd Gamblin
  • Peter Scheibel
  • Greg Becker
  • Tamara Dahlgren
  • Massimiliano Culpo
  • Mark Krentel
  • Nick Sly
  • Kit Menlove
  • Scott Warren
  • Kenneth Hoste

Agenda

(Note we likely won't cover all of these topics in this meeting - leftover topics will be pushed to the next meeting)

  • Announcement: upcoming support for installing packages with specific git commits: https://github.com/spack/spack/pull/24639

    • With this PR, for a package which specifies a git repository, you can spack install package@git-commit (without listing the commit as a version) and Spack will install that
  • Discussion: Spack compiler flag specification

    • Specifying compiler flags is hard now
    • We have flag_handler methods
    • Should we model specific flags (i.e. those which should be propagated vs. not)
    • We should also designate between cases where we want to add flags vs. set them
    • Currently flag_handler returns 3 values (which flags are added in the compiler wrapper, which are exported as shell vars, and which are fed to the build system)
    • Related: https://github.com/spack/spack/issues/14430
    • Mark: Autotools will avoid setting any flags related to optimization if you set one
      • It would make sense to pass a group of flags like -g -O2
      • This might relate to CMake build designations like Release/Debug/RelWithDebInfo from CMake
        • i.e. could Spack offer a set of similar build designations for all Autotools packages which are analogous to the CMake designations
    • Greg: treat flags more like other variants (e.g. let a user declare a cflags variant that overrides the cflags set by compilers)
      • Once compilers are treated like other dependencies, flags on the compiler could be use variants
        • This may be important when flags conflict (i.e. you need to use the same flags across two packages or they won't be compatible)
          • ? Any examples of these flags? (GPU codes)
    • Massimiliano: there are cases where packages want to use flags for all except a few files
      • For this we must be careful not to inject flags into wrappers
    • Greg: working with Vanessa on a universal debug variant to all packages
  • (Partially covered - TBC next week) Discussion: Packages which require multiple build systems: how to handle them?

    • E.g. a package where earlier versions use make and later versions use cmake
    • Some packages will want to use a different build system on Windows
    • Side note: packages are only used at build time
    • ? Do we use when decorators on methods other than to constrain a method to only run for particular versions
    • Adam has created documentation on how to maintain a package which uses different build systems for different versions
    • Todd: use @when decorators on the subclasses
      • Massimiliano: for packages which extend other packages, this would be problematic
  • (Not covered) Discussion: Defining a standard for shared and static libs

  • (Not covered) Discussion: Packages with multiple conflicting libraries - how to support them?

  • (Not covered) Discussion: long environment activations - are you having an issue with this?

  • General Q&A: any Spack questions folks have

Clone this wiki locally