Which RPMS do I need? There are 4 hdf5-1.8.5 RPMs in this directory, 2 for 32 bit linux (i386), 2 for 64 bit linux (x86_64). All 4 rpms are configured with szip encoder enabled. The two rpms that have with.szip.encoder in their name will install the szip files along with the hdf5 library files. The others also need szip, but can use a previously installed 2.0 or 2.1 version, or the szip RPMs also in this directory can be downloaded and installed separately. Installing It is preferable to install rpms as the root user, because the commands are simpler and the system rpm database will be used to check dependencies and record the installation. The basic command to do this is "rpm -Uvh ". If installing as the root user is impossible or undesirable, the rpms in this directory are relocatable and may be installed by a non-root user with two additional command line options. The first additional option can be either --dbpath or --root . The first of these options may not be available in older versions of rpm. Whichever option is chosen will be required for all future rpm commands for these rpms. The directory specified for --dbpath must have write permission for the user and will be used to store the rpm database files. For the second option, the directory specified must also have write permission for the user, and var/tmp, var/lock, and var/lib/rpm should be created in the alternate directory as well as a file var/lock/transaction ("touch transaction in the var/lock direcory). The rpm program will "chroot" to the alternate "/" directory and the database files will be stored in the var/lib/rpm directory. It should be possible though optional to copy the system rpm directory (/var/lib/rpm) to the directory specified for --dbpath or to var/lib in the directory specified for --root. Doing this will allow the rpm to find dependencies that are already installed on the system. This database will not be updated with future changes to software installed on the system. If the system rpm is not copied the rpm database will not know about libraries it has not installed and will fail to install, listing the missing dependencies. If these missing dependencies are in fact present on the system the --nodeps option can be added to the install command to bypass the dependency checker. The second additional option can be either --prefix= or --relocate=/usr= where the user has write permissions for . The rpms will install files in the bin, include, lib or lib64, and share subdirectories of this install directory instead of the default /usr directory. Here are some example commands using --dbpath and --prefix: install command: rpm --install --dbpath $HOME/rpm --prefix $HOME/usr hdf5-1.8.5-1.with.szip.encoder.el5.i386.rpm check for hdf5 install: rpm --query --dbpath $HOME/rpm hdf5 uninstall command: rpm -e --dbpath $HOME/rpm hdf5 Workaround for compile scripts Current h5redeploy does not work correctly with the compile scripts as installed by rpm. Compile scripts can be corrected manually until h5redeploy is fixed. Near the beginning of h5cc, h5fc, and h5c++ in the section headed "Things You May Have to Modify:" you will find these four lines beginning at line 27 or 29: prefix="" or "/usr" exec_prefix="/usr" libdir="/usr/lib64" includedir="/usr/include" Running h5redeploy resets prefix in the first of these lines to the directory where it is run. Changing the three subsequent lines to the following will fix the compile scripts and restore the full functionality of h5redeploy. Note that the libdir line will end in lib64 for 64 bit installs or lib for 32 bit installs. exec_prefix="${prefix}" libdir="${exec_prefix}/lib64" includedir="${prefix}/include" Workaround for hdf5_example scripts The scripts to run the examples in /share/hdf5_examples will not run if the rpm is installed with --prefix or --relocate. The workaround for this is to set prefix in the environment to the directory specified for the install, e.g. $HOME/usr in the example above.