Fedora#
Fedora 38#
Operating system packages#
We use the operating system packages for most of the dependencies. In this example, we use MPICH for MPI and the corresponding HDF5 library.
dnf install -y \
gcc \
gcc-c++ \
make \
file \
diffutils \
automake \
autoconf \
libtool \
curl \
openssh \
python3 \
python3-devel \
python3-pip \
zlib \
zlib-devel \
blas \
blas-devel \
lapack \
lapack-devel \
atlas \
atlas-devel \
openssl \
openssl-libs \
unzip \
git \
ca-certificates \
mpich-devel \
hdf5-mpich \
hdf5-mpich-devel \
sqlite \
sqlite-libs \
sqlite-devel \
proj \
proj-devel \
cmake
Environment variables#
export PYTHON_VERSION=3.11
export HDF5_INCDIR=/usr/include/mpich-x86_64
export HDF5_LIBDIR=/usr/lib64/mpich/lib
PREFIX_DIR=$HOME/pylith
PATH=$PATH:/usr/lib64/mpich/bin
Configure#
$HOME/src/pylith/pylith-installer-4.2.0-0/configure \
--prefix=$PREFIX_DIR \
--with-fetch=curl \
--with-fortran=no \
--with-make-threads=$(nproc) \
--with-hdf5-incdir=${HDF5_INCDIR} \
--with-hdf5-libdir=${HDF5_LIBDIR} \
--disable-mpi \
--disable-cmake \
--disable-sqlite \
--disable-hdf5 \
--disable-proj \
--enable-catch2 \
--enable-h5py \
--enable-netcdf \
--enable-netcdfpy
Fedora 39#
Operating system packages#
We use the operating system packages for most of the dependencies. In this example, we use OpenMPI for MPI and the corresponding HDF5 library.
dnf install -y \
gcc \
gcc-c++ \
make \
file \
diffutils \
automake \
autoconf \
libtool \
curl \
openssh \
python3 \
python3-devel \
python3-pip \
zlib \
zlib-devel \
blas \
blas-devel \
lapack \
lapack-devel \
atlas \
atlas-devel \
openssl \
openssl-libs \
unzip \
git \
ca-certificates \
openmpi-devel \
hdf5-openmpi \
hdf5-openmpi-devel \
sqlite \
sqlite-libs \
sqlite-devel \
proj \
proj-devel \
cmake
Environment variables#
export PYTHON_VERSION=3.12
export HDF5_INCDIR=/usr/include/openmpi-x86_64
export HDF5_LIBDIR=/usr/lib64/openmpi/lib
PREFIX_DIR=$HOME/pylith
PATH=$PATH:/usr/lib64/openmpi/bin
Configure#
$HOME/src/pylith/pylith-installer-4.2.0-0/configure \
--prefix=$PREFIX_DIR \
--with-fetch=curl \
--with-fortran=no \
--with-make-threads=$(nproc) \
--with-hdf5-incdir=${HDF5_INCDIR} \
--with-hdf5-libdir=${HDF5_LIBDIR} \
--disable-mpi \
--disable-cmake \
--disable-sqlite \
--disable-hdf5 \
--disable-proj \
--enable-catch2 \
--enable-h5py \
--enable-netcdf \
--enable-netcdfpy