-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Load Recursive Modules #721
Load Recursive Modules #721
Conversation
@alalazo: how does this look to you? does it work with your module support? @robertdfrench: how about for ORNL? I know you all wanted module prereqs. |
This could be useful for development but perhaps not so much for end users. For end users, I think recursive module loading would be better done in the module files themselves. Modules can be loaded from other modules via Regarding prereqs, some sites prefer to use prereqs rather than module load directives. So if module loading is configured to be false in spack, then prereqs would kick in. That does not address the goal of this PR though. I think prereqs and recursive module loading are both needed in the end. |
Let me try to advocate for this PR:
I've already encountered a simple case of this flexibility issue: I want to
I'm not familiar with prereqs, can you please point me to them? Thanks! |
I share most of the opinions of @glennpj, in particular:
To reply to @tgamblin : I don't think this PR will conflict with the work that will be done to customize module files, as it will use whatever has been generated at installation phase. On the other hand, I hope that everything that this PR does will be configurable from |
I look forward to the |
This could be useful for creating Spack profiles. Re-opening... |
I found this useful to set up a runtime environment on OSX. The only thing I needed to add was a command to load the compiler module so that the correct system headers could be found by Cling, the interactive C++ interpreter in ROOT. |
One thing I realized about this approach vs. Spack profiles... in the real world, I've found that the profiles I need to set up contain a mixture of Spack-built and non-Spack-built modules. With the approach in this PR, it's easy to combine Spack-generated "module load" commands with manual "module loads". |
Merged! |
Is there a reason this didn't use |
The API change needs to happen on #378 since it makes those API changes, but the |
tty.die("No installed packages match spec %s" % raw_spec) | ||
|
||
if len(specs) > 1: | ||
tty.error("Multiple matches for spec %s. Choose one:" % spec) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alalazo This should be using raw_spec
while you're fixing things.
* Add py-quaternion * update NeuroM * add plotly-helper * Add py-cut-plane * bump pathlib * add morph-tool
Spack support for recursive modules without having to use a recursive module system.