-
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
The lmod package should depend_on('tcl') #1263
Conversation
please change |
@davydden Ooh, didn't know this. Neat! |
@davydden -- done. |
Whoops, there's a bit more work here. The resulting environment module should require/load (I need to catch up on spack-isms) the tcl module, else you run into:
I've scanned past the discussions about enabling packages to specify contents in the environment/dot-kit grommets. I'll dig into it (this is a good intro!). |
@hartzell i would say you need to change dependency type from default |
whoops. I'd added the tcl bin to my PATH by hand, so I didn't really test the @davydden suggested change appropriately. If I log out, log in, source the modules init file
I end up with back at:
There are two problems:
|
try |
That wasn't very satisfying, but it might be because I'm trying to use spack to bootstrap a module system installed by spack...
|
I've rebased this onto the current develop. |
The lmod package needs a tclsh. Up until now it just assumed that one was available on the system. This change adds a depends_on('tcl') to the lmod package. The tcl package installs a tclsh script with an embedded version number (e.g. tclsh8.6) but the lmod configuration looks for tclsh. This change extends the tcl package to symlink tclshX.Y to tclsh in the tcl package bin directory.
lmod uses tclsh at runtime, so adjust the depends_on accordingly (thanks @davydden!).
Lmod's configure script goes to the trouble of finding tclsh. This change uses that info to rewrite the #! lines in the tcl scripts so that they call the tclsh that the configure script discovered. It needs to massage the existing shebang lines into something that the sed statement in the makefile can manipulate and it needs to add the path_to_tclsh info into the set of sed statements. Checked with versions 6.4.1 and 6.3.7 (the checksum for 6.0.1 is incorrect, a fix for another time).
I fixed the problem with the tcl scripts being unable to find tclsh by adding bits that rewrite the #! lines in the tcl scripts to use the tclsh discovered by the configure script. I've also rebased onto the current tip of develop. I've submitted similar changes upstream: TACC/Lmod#150. |
This now Works For Me(tm). I'd appreciate feedback. Thanks! |
The lmod package needs a tclsh. Up until now it just assumed
that one was available on the system.
This change adds a depends_on('tcl') to the lmod package.
The tcl package installs a tclsh script with an embedded version
number (e.g. tclsh8.6) but the lmod configuration looks for tclsh.
This change extends the tcl package to symlink tclshX.Y to tclsh in
the tcl package bin directory.
Closes #1257.