Computing : Local Software installation

When installing software into a local directory, e.g. the home directory there are several ways to do that, depending on the build system used for the software. In the following list items $HOME is used as the place for the software installation, i.e. the directory which will later contain the bin, lib, include and so on subdirectories in which the files will reside. It is probably advisable to use something different from $HOME ! When installing to AFS home you should take care about the .@sys links: as AFS can be mounted on very different systems and binaries and libraries need to be system specific the afshome/bin directory is a link that points on each system to a directory like afshome/.system/bin  (these links are there automatically). On our standard afs home directories only a link for bin exists, for lib you have to create it. This also means that if you do the make install on one system the installed stuff may be missing on the system you want to run it on!

In the list below only the step in the installation procedure that needs to be doe differently from the default is shown in the highlighted block, all the other steps should be done as described in the softwares README or INSTALL, except that any sudo or equivalent privilege changes should be omitted.

  • autotools:   this is the build system where you are asked to run ./configure; make; make install.

    Select install path with autotools
    ./configure --prefix=$HOME
  • cmake:   this build system asks you to go into a build directory and issue the command cmake path/to/source/dir

    Select install path with CMAKE
    cmake -DCMAKE_INSTALL_PREFIX:PATH=${HOME} path/to/source/dir

    When cmake complains about being unable to find other packages that you have installed locally (i.e. in you HOME or similar) you should try to provide the location of the installed software in CMAKE_MODULE_PATH, which can be set on the comand line using -DCMAKE_MODULE_PATH:PATH=/path.to/my/installation. It may me necessary to check teh CMakeLists.txt for set operations on CMAKE_MODULE_PATH, these should always expand the path, not replace it, i.e. they should look like SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/" ...) so that the trick of pre-setting this path works.

If you encounter another build system not mentioned here please contact us (Juergen Hannappel) so that this page can be extended according to requirements.