Updating A Test Release from SLF6 to SLF7¶
DUNE's interactive nodes, dunegpvm*.fnal.gov and build nodes, dunebuild*.fnal.gov, are migrating away from SLF6 to SLF7. The simplest way to use SLF7 is simply to create a new test release from scratch following the getting started instructions: Getting Started Developing using CVMFS, git and mrb.
This however will start you off from whatever code is in the garsoft repository. If you have private versions of software source that you have not yet pushed to the remote repository, you can upgrade an existing test release to SLF7.
As per usual, you should always back up your work. /dune/app has snapshots. See /dune/app/.snapshot with timestamped versions of the contents of the app disk in case you make a mistake and lose files.
These instructions assume you have a test release in a directory /dune/app/users/username/my_garsoft_test_release that you have been working with using SLF6 and want to upgrade to SLF7. This test release must be mounted on an SLF6 machine that you've been working on and also a SLF7 machine you can build the new version on.
Log on to an SLF7 node, such as dunegpvm11.fnal.gov through dunegpvm15.fnal.gov or dunebuild02.fnal.gov.
We assume your login scripts are "clean" and do not do any setups.
mrb n -b -v <version> -q <qualifiers>
mrb i -j<ncores>
The version needed by mrb n -b can be found in /dune/app/users/username/my_garsoft_test_release/srcs/garsoft/ups/product_deps. The version is called "parent" and "defaultqual" gives the qualifier. You may have to add ":prof" or ":debug" to the list of qualifiers to get a complete set for mrb n -b to work. Alternatively, before executing mrb n -b, you can type mrbslp and the error message will say what version it is trying to set up.
This procedure will create a second build directory. Sourcing the localProducts*/setup and typing mrbsetenv will set the environment variable MRB_BUILDDIR to the appropriate build directory depending on what OS version you are using at the time. The localProducts directory will also contain SL6 and SL7 versions.
To avoid confusion, it is best to delete the build directory and local products for SLF6 once you are happy the SLF7 versions are working (that way you don't have to maintain two builds).
will delete everything in $MRB_BUILDDIR and the contents of localProducts (except the setup script). You will have to type
mrb i -j<ncores>
to rebuild from scratch. Then you can
rm -rf /dune/app/users/username/my_garsoft_test_release/build_slf6.x86_64
to clean out the old SLF6 build directory.
More information on mrb commands is available in the MRB reference guide: https://cdcvs.fnal.gov/redmine/projects/mrb/wiki/MrbRefereceGuide