nrpm
HPC and Data for Lattice QCD
nrpm
Description
In order to simplify the installation of apeNEXT related software on the systems of the participating groups, all relevant applications are packaged in RPM format. In addition a wrapper application is provided to allow easy user-level installation of these packages.Concept
RPM packages are the preferred software packaging format used by most Linux distributions. It allows quite flexible dependency checking, install scripting etc.It is, however, not generally useable for network wide installation management due to permission problems and its rather strict use of locking (which may incompatible with some network filesystems). Also, incompatibilties between the rpm versions used on different Linux platforms make the distribution of single rpm packages without additional scripting almost impossible.
tries to 'circumvent' this by installing a private package database and adjusting database settings before manipulating it. The installation tree and database are loctated under $NROOT/, whose location may be defined by the local installation manager.
- The files of the package nrpm-0.4 are installed in $NROOT/opt/nrpm-0.4/ and a link is pointing from $NROOT/bin/nrpm-0.4 to $NROOT/opt/nrpm-0.4/bin/nrpm.
- The link $NROOT/bin/nrpm is provided by the package nrpm-default-0.4.
This way, several different versions of a package may be installed concurrently, one of them being the default.
Getting Started
- cd to the directory that will hold your local $NROOT tree. There should be no previous nroot/ directory here.
- Download the bootstrap setup script from here.
- Execute it in the current directory: sh ./setup
This will unpack an initial directory and install a few first packages. - Define $NROOT to be $PWD/nroot.
- Add $NROOT/bin to your $PATH.
- Possibly add $NROOT/lib to your $LD_LIBRARY_PATH.
nrpm -qa
to list the installed packages. nrpm accepts the same options as your local rpm program.
To install other packages, simply run e.g.nrpm -i mpp.rpm mpp-default.rpm
which will automatically download the two requested package and install them.
The download site is located here. It also provides a listing of all available packages. Packages without version number are symbolic links and point to the latest version of a package. To install a spcific version of e.g. mpp, one would for instance use a command like:nrpm -i mpp-1.124-1.i386.rpm
This would leave the mpp link in $NROOT/bin untouched.
Building RPMs
Currently the most portable way of compiling apeNEXT software seems to be:- Compile on the host with the oldest version of glibc (currently arlington.fe.infn.it)
- Compile with a commenly used version of gcc (e.g. version 3.3.4 or arlington:/home/desy/gcc/bin/gcc)
Peculiarities
- Sites using older (or possibly) newer versions of gcc might have to install the shared gcc libraries RPM (e.g. gcc-shlib-3.3.4-1.i386.rpm)
- The package binape depends on the version of Perl used for compilation. The Perl version number is encoded in the package version number, e.g. binape-1.0-1_5.6.0.i386.rpm is compiled with Perl version 5.6.0.
- In Zeuthen the RPM are installed in an AFS filesystem. Please make sure that
- None of the directories packed in the RPM has a sticky bit set.
- The sections %files contains the entry %defattr(-,root,root).