-
Notifications
You must be signed in to change notification settings - Fork 5
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
Capture and automatically load dependencies in modulefiles #5
Conversation
duplicate of #1 |
Re-opening from here to remove feature branches from central repository. |
There is also one new package "bats" which is used for testing (see #20 ). Though these are seemingly unrelated files the framework was essential to find the possible errors, so it ended up in this PR not the other. This also has the nice side effect that bats is already available when tests are added later. |
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.
Thanks @terhorstd! This works for me, but I had to load quite a lot of modules, including ones that are not necessary for running NEST, like Cmake
etc. This is not a problem, but something we can work on I think.
When building NEST, I loaded 3 modules (including CMake), and some of these loaded modules behind the scenes. When I then did module load nest-simulator/2.20.1
, I then had to load all the hidden ones, because they where detected before the modules I had loaded manually. Also, when loading NEST, I got a message saying Lmod has detected the following error: Cannot load module "nest-simulator/2.20.1/default". At least one of these module(s) must be loaded:
and then one module. It would be nice if in the future all of the modules needed where listed at the same time.
Thanks for the review, @stinebuu ! |
This is fixes #3, by injecting multiple
prereq
statements into the modulefile template during its instantiation.Issues with the multi-line
prereq
replacement have presumably been solved.The mechanism to replace multi-line variables does not work in the "old bash" branch of the template instantiation.Ideally the planfile could list 'build-time only' dependencies that should not be explicitly required at run time (e.g. compilers).(should be done in separate PR)