4. Distribution Specific Information
This section lists all required system packages for compiling, building, and executing the SMR packages memcom, b2000pp, and simples under specific Linux distributions.
Please install cmake 3.22+ or download, compile, and install it yourself.
Note
Installing system packages requires root privileges.
4.1. Ubuntu 20, 22, 24
Install an Ubuntu version 20+ “Desktop” distribution and create a Python virtual environment (see create a Python3 virtual environment for Python3 or create a Python2 virtual environment) for Python2.
Install the required Python packages for Python (see Python3 and Python2).
Install the following system packages for building memcom,
b2000pp, and simples (if the system packages are already installed,
apt
either skips or updates them):
sudo apt-get install libnlopt-dev liblapack-dev libarpack2-dev \
libatlas-base-dev libscotch-dev libtbb-dev libssl-dev \
libmpfr-dev libnlopt-dev libxcb-xinerama0 \
python3-dev swig flex byacc bison gfortran m4 \
autoconf automake autotools-dev libtool libgirepository2.0-dev \
openssh-server environment-modules tclsh wish libxpm-dev git git-gui \
libmumps-seq-dev libmumps-dev libmumps-scotch-dev
Install the following Python3 packages (note: numpy and scipy installed with pip):
# Install numpy and scipy with pip, because of sphinx.
pip3 install --upgrade --force-reinstall pybind11 numpy scipy \
'matplotlib>=3.3' PyGObject pandas
4.2. Ubuntu 20 with Python2
As Ubuntu 20 does not support Python 2 anymore, more precisely the
various Python2 packages required by baspl++, you have to add an
Ubuntu 18 repository to file apt/sources.list
. Add the following
line to the file apt/sources.list
or uncomment the respective line
in the file apt/sources.list
:
deb-src http://it.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
Install the following system packages for building and running baspl++ and fscon (Python2 packages):
# System packages baspl++ (python 2 packages):
sudo apt-get install python2-dev libgtk2.0-dev libglu1-mesa-dev \
freeglut3-dev mesa-common-dev libgl2ps-dev
Install the following Python2 packages:
pip2 install PyOpenGL decorator Image
Create a virtual environment for building the SMR packages, see Python Virtual Environments. If you intend to build the baspl++ package, install a Python 2 virtual environment. If you intend to build the b2000++ packages, install a Python 3 virtual environment.
4.3. CentOS 8+ (RHEL 8+, Rocky, Alma)
Install a CentOS 8+ “Workstation” with “Gnome Applications” and “Development Tools”.
Create a Python virtual environment (see create a Python3 virtual environment for Python3 or create a Python2 virtual environment) for Python2 .
Install the required Python packages for Python (see Required packages for Python3 or Required packages for Python2).
Install the following packages (note that if the packages are already
installed, dnf
either skips or updates them):
# enable epel repository
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install dnf-plugins-core
dnf config-manager --set-enabled powertools
dnf install environment-modules lsb_release
dnf install python2-devel python3-devel swig python3-numpy \
python2-numpy python3-scipy python2-scipy libXmu-devel \
libX11-devel libXpm-devel gtk2-devel ncurses-devel
dnf install gcc-gfortran cmake
dnf install arpack-devel blas-devel scotch-devel lapack-devel MUMPS-devel
dnf install gl2ps-devel pygtk2-devel mesa-libGLU-devel
If MPI MPICH versions of B2000++ and the fsi libraries are to be built, install
sudo dnf install mpich mpich-devel MUMPS-mpich MUMPS-mpich-devel
If MPI OpenMPI versions of B2000++ and the fsi libraries are to be built, install
sudo dnf install openmpi openmpi-devel MUMPS-openmpi MUMPS-openmpi-devel
The NLopt library does not seem to be available in CentOS 8 (NLopt is required for B2000++). Please download the NLopt package and compile and install (per default in /usr/local):
tar xf nlopt-2.6.2.tar.gz
cd nlopt-2.6.2
mkdir build; cd build; cmake .. ; make ; sudo make install
The LD_LIBRARY_PATH
must be set explicitly (bash: in
$HOME/.profile
) if libraries in /usr/local
are used
(such as NLopt default installation):
export LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib
Create a virtual environment for building the SMR packages, see Python Virtual Environments. If you intend to build the baspl++ package, install a Python 2 virtual environment. If you intend to build the b2000++ packages, install a Python 3 virtual environment.