HPC
HPC

| HPC and Data for Lattice QCD

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.
insttree.png
  • 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.
So, for every application and version there will be two packages. One for the applications files and one that provides a link to it from the standard locations.

This way, several different versions of a package may be installed concurrently, one of them being the default.

Getting Started

  1. cd to the directory that will hold your local $NROOT tree. There should be no previous nroot/ directory here.
  2. Download the bootstrap setup script from here.
  3. Execute it in the current directory: sh ./setup
    This will unpack an initial directory and install a few first packages.
  4. Define $NROOT to be $PWD/nroot.
  5. Add $NROOT/bin to your $PATH.
  6. Possibly add $NROOT/lib to your $LD_LIBRARY_PATH.
The bootstrap installation already contains the nrpm package. Try
	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:
  1. Compile on the host with the oldest version of glibc (currently arlington.fe.infn.it)
  2. 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).