This is an old revision of the document!
Using VALET
VALET, a module-like system developed and maintained at UD, makes it easy to manage your environment so you have access to the software that you use to conduct your work on Caviness. On a system like Caviness there are simultaneously many different software packages present, and many unique versions and variants of those packages. Some software is maintained by UD IT for all of the users of Caviness. Some software is maintained by individual workgroups or users. Having a single consistent mechanism for adding software into a shell's environment is of critical importance.
A VALET package definition describes the changes that must be made to the environment, such as adding directories to $PATH or $LD_LIBRARY_PATH so the system can find the executables and libraries associated with the package.
- Package definitions maintained for all users by UD IT can be found in the
/opt/shared/valet/etcdirectory - Users can create their own VALET package definition files in the
~/.valetdirectory - Workgroups can create VALET package definition files in the
$WORKDIR/sw/valetdirectory
To determine what packages are available to you at any time, use the vpkg_list command:
[«username»@login00 ~]$ vpkg_list
Available packages:
in /home/«user id»/.valet
lolcow
in /opt/shared/valet/2.1/etc
abaqus
ambertools
anaconda
arpack
arpack-ng
:
valgrind
vile
vmd
To see what versions and variants of a package are available, use the vpkg_versions command:
[«username»@login00 ~]$ vpkg_versions intel Available versions in package (* = default version): [/opt/shared/valet/2.1/etc/intel.vpkg_yaml] intel Intel Compiler Suite 2013 alias to intel/2013u6 2013u6 Version 2013, SP1 Update 6 (2013_sp1.6.214) 2015 alias to intel/2015u7 2015u7 Version 2015, Update 7 (2015.7.235) 2016 alias to intel/2016u5 2016u5 Version 2016, Update 5 (2016.8.266) 2017 alias to intel/2017u7 2017u7 Version 2017, Update 7 (2017.7.259) * 2018 alias to intel/2018u4 2018u3 Version 2018, Update 3 (2018.3.222) 2018u4 Version 2018, Update 4 (2018.5.274) 2019 alias to intel/2019u2 2019u2 Version 2019, Update 2 (2019.2.187)
A detailed list of the actions taken for a package or a version of a package can be displayed with the vpkg_info command:
[«username»@login00 ~]$ vpkg_info udunits/2.2.26
[udunits/2.2.26] {
contexts: all
udunits compiled with system compilers
prefix: /opt/shared/udunits/2.2.26
standard paths: {
bin: /opt/shared/udunits/2.2.26/bin
lib: /opt/shared/udunits/2.2.26/lib
info: /opt/shared/udunits/2.2.26/share/info
include: /opt/shared/udunits/2.2.26/include
}
}
Adding a package
The vpkg_require command is used to add a package's changes to your environment. One or more versioned package identifiers can be passed to the command:
[«username»@login00 ~]$ vpkg_require intel/2019 ffmpeg/4.0 python/3.6.5 Adding package `intel/2019u2` to your environment Adding package `ffmpeg/4.0` to your environment Adding package `python/3.6.5` to your environment [«username»@login00 ~]$
Before making changes to the environment, VALET creates an environment snapshot that it can use to remove the changes it makes1).
Whenever possible, try to merge your package requests into as few vpkg_require commands as possible.
$TMPDIR (or /tmp if $TMPDIR is not set).