Library dependencies - Linux

The installation requires system libraries that are not necessarily installed by default, but they are available through the package manager. Most of the additional libraries are required to run the computational programs in parallel on multiple processors or clusters, and to run the graphical programs (mainly RobEM). Example of libraries needed to be installed on some Linux distributions:

CentOS

  • libraries needed for running the programs in parallel using MPI
    openmpi          (mpich2 as an alternative)
    openmpi-devel    (mpich2-devel as an alternative)
  • libraries needed for running graphical programs
    libX11
    libX11-devel
    openmotif
    openmotif-devel
    libSM
    libSM-devel
    libICE
    libICE-devel
    libXext
    libXext-devel
    libXmu
    libXmu-devel
    libXp
    libXp-devel
    libXt
    libXt-devel

Ubuntu

  • general libraries
    gfortran
  • libraries needed for running the programs in parallel using MPI
    openmpi-bin
    libopenmpi-dev
  • libraries needed for running graphical programs
    libmotif-dev
    libxt-dev

During the installation procedure you can get the following error messages

/usr/bin/ld: cannot find -lXp
/usr/bin/ld: cannot find -lXext
/usr/bin/ld: cannot find -lXmu

even if the libraries have been installed. This is because sometimes the generic links to these libraries are missing. In this case you need to go to the directory where the libraries are (/usr/lib/x86_64-linux-gnu in the latest Ubuntu 64-bit releases) and create the symbolic links (you need administration permissions). For example

ln -s libXmu.so.6.2.0 libXmu.so
ln -s libXp.so.6.2.0 libXp.so
ln -s libXext.so.6.4.0 libXext.so

with the names reflecting the current installed version.