Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 96 to 96 | ||||||||
As you'll see, there's a tangled history of different versions of ROOT, Geant4, and the versions of GCC![]() | ||||||||
Changed: | ||||||||
< < | The following basic setup command will always work here, as the default versions of ROOT and Geant4 will always be compiled with the same compiler: | |||||||
> > | The following basic setup command will always work here, as the default versions of ROOT and Geant4 will always be compiled with the same compiler version: | |||||||
module load root geant4 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 158 to 158 | ||||||||
Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup command. Why make a change? | ||||||||
Added: | ||||||||
> > |
| |||||||
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
How? |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 42 to 42 | ||||||||
What are environment modules? | ||||||||
Changed: | ||||||||
< < | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
> > | The command-line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
Environment modules![]() | ||||||||
Changed: | ||||||||
< < | export ROOTSYS=/usr/nevis/ROOT-5.34.23 | |||||||
> > | export ROOTSYS=/usr/nevis/ROOT-05.34.23 | |||||||
export PATH=$ROOTSYS/bin:$PATH export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Line: 58 to 58 | ||||||||
Another advantage of environment modules is that they are shell-independent. For example, the above export commands are valid in bash and zsh , but in csh you must use: | ||||||||
Changed: | ||||||||
< < | setenv ROOTSYS /usr/nevis/ROOT-5.34.23 | |||||||
> > | setenv ROOTSYS /usr/nevis/ROOT-05.34.23 | |||||||
setenv PATH $ROOTSYS/bin:$PATH setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Line: 144 to 144 | ||||||||
You can also pick up tips by looking at the Nevis module files in /usr/nevis/modules . | ||||||||
Changed: | ||||||||
< < | The scripting language used in module files is Tcl![]() ![]() | |||||||
> > | The scripting language used in module files is Tcl![]() ![]() | |||||||
How are environment modules set up at Nevis? | ||||||||
Line: 152 to 152 | ||||||||
The Nevis-specific module files are in /usr/nevis/modules . There are some example/utility files that part of the default Linux environment modules package; these are located in /usr/share/Modules/modulefiles and /etc/modulefiles . | ||||||||
Changed: | ||||||||
< < | Transition: From setup to environment modules | |||||||
> > | Transition: From | |||||||
Why? | ||||||||
Changed: | ||||||||
< < | Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup. Why make a change? | |||||||
> > | Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup command. Why make a change? | |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Line: 158 to 158 | ||||||||
Prior to Feb-2015, software packages at Nevis were set up using a custom-written setup. Why make a change? | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
How?For the most part, you don't have to do anything. Thesetup command is not going away any time soon. It simply won't be maintained anymore for any new package versions. | ||||||||
Changed: | ||||||||
< < | Over time, if you have something like setup root geant4 in your scripts, you can replace it with module load root geant4 . This may have unexpected results (the default versions of ROOT and Geant4 are different for the setup and module commands). | |||||||
> > | Over time, if you have something like setup root in your scripts, you can replace it with module load root . This may have unexpected results (the default versions of ROOT and Geant4 are different for the setup and module commands). | |||||||
If you're loading a specific version of ROOT or Geant4, it's typically obvious how to update them, with some guidance from the module avail command. For example, setup root532 becomes module load root/05.32.00 . |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Environment modules on the Nevis particle-physics Linux cluster | ||||||||
Changed: | ||||||||
< < | Environment modules![]() module to set up software packages available on the applications server. | |||||||
> > | On this page:
![]() module command to set up software packages available on the applications server. | |||||||
Quick start guide | ||||||||
Line: 38 to 42 | ||||||||
What are environment modules? | ||||||||
Changed: | ||||||||
< < | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell and its environment easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
> > | The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc. | |||||||
Environment modules![]() | ||||||||
Line: 59 to 63 | ||||||||
setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH | ||||||||
Changed: | ||||||||
< < | but even in csh, the environment modules command is still module load root . | |||||||
> > | Even in csh, the environment modules command is still module load root .
Another advantage of environment modules: the obscure bits of package set ups are handled for you. For example, neither of the above ROOT examples demonstrate how to set the value of $PYTHONPATH in case you want to use PyROOT![]() ![]() ![]() module command![]() Using environment modulesTypically everything you need to know is in the "Quick Start" section above. There are more details in the man page for themodule command![]() module listTo remove a module's effects on your shell environment; e.g., any version of ROOT you've loaded: module unload root Do not use the
The reason is that most of the modules are "nested" and call sub-modules; e.g., the command |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Environment modules on the Nevis particle-physics Linux clusterEnvironment modules![]() module to set up software packages available on the applications server.
Quick start guideTo set up ROOT![]() module load rootTo set up Geant4 ![]() module load geant4To see what packages and versions are available: module availIf you just want to see the versions for a particular package, e.g., ROOT: module avail rootTo get a brief description of a given package, e.g., Geant4.9.6: module whatis geant/4.9.6To get a longer description: module help geant/4.9.6 What are environment modules?The command line environment you use to issue commands in Linux is called the shell. Your shell has an "environment": a collection of variables, aliases, and definitions to make the shell and its environment easier to use. A software package that is not built-in to Linux (such as ROOT![]() ![]() $ROOTSYS , adding binary executables to the shell's search path variable $PATH , adding library locations to the shell's library search variable $LD_LIBRARY_PATH , etc.
Environment modules![]() export ROOTSYS=/usr/nevis/ROOT-5.34.23 export PATH=$ROOTSYS/bin:$PATH export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATHevery time you use ROOT, you can just type this instead: module load rootAnother advantage of environment modules is that they are shell-independent. For example, the above export commands are valid in bash and zsh , but in csh you must use:
setenv ROOTSYS /usr/nevis/ROOT-5.34.23 setenv PATH $ROOTSYS/bin:$PATH setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATHbut even in csh, the environment modules command is still module load root . |