-
Notifications
You must be signed in to change notification settings - Fork 203
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
Finding modules with multiple modulepaths and HMNS #3703
Comments
To clarify:
--> For this options 1&2 are suitable: Either (also) check for The second issue is a problem with HMNS in general when having multiple trees: In the example above installing a compiler module into |
You can now extend MODULEPATH in any direction you want from the system installation via the use of environment variables. We are using that configuration at JSC for user installations, which is provided as a module. The settings we use at JSC are
where If you'd like you can take a look at our module at https://gist.github.com/ocaisa/b13f243936f6de0b434edd9208ca1c76 . The basic stuff is
To get around the issue of
|
I should say, we use hooks to disallow that user builds things that extend the module path (compiler, mpi), instead only using the toolchains that we provide (though this can be overridden). |
Another use case: I'm regularly testing ECs and EBs using the system installations as a base but also install compilers (or more often MPIs) into a "user" module-tree. So even for devs this whole thing is a hassle. And yes something like your module works (thanks for that) but I think with the proposed changes we could provide first-class support for HMNS and make it "just work". |
For sure option 1 would avoid the need for the alias, which I think would be a good move and should not be very difficult to support (I imagine). |
This is only relevant where you are overriding a compiler/mpi available on the system (or you intend to in the future), otherwise the branch would be completely unpopulated. In that case you can still leverage the environment variable approach, but from the user installations module. I can imagine something like
were |
Yes, I don't say it is impossible, just that it currently is quite some trouble and things to understand until it works. And that we should improve upon that :) |
The main problem with basing things on the subdir-user-modules is that it locks down the prefix to be $HOME. With project storage, something we and other sites use, one would want to use some freely choosen prefix, like /proj/nobackup/some-project/easybuild for instance. Doing that excludes the usage of subdir-user-modules. But a combination of options 1 and 3 should be able to handle this. |
|
@Flamefire is right, see #3703 (comment) above for the exact use case you (@akesandgren) describe |
Ah ok, didn't remember how those changes affected the use of that... |
Currently, EB won't find anything from your normal MODULEPATHs, only stuff that's in
--installpath-modules
.Not to bad for sysadmins to work around (just expand the MODULEPATH to also include the "/all" module directory directly, but it gets painful when lettings users build their stuff (especially if they use multiple paths as well).
t would be nicer to just deduce these from the normal MODULEPATH's instead.
From the zoom discussion, some options presented were
I think option 1 seems most promising, with a configuration option to disable it. Heck, it can even be off by default since it would be simple to enable for those who use this so it would be perfectly safe feature to add.
@Flamefire ping (since you are also interested in this).
The text was updated successfully, but these errors were encountered: