add gromacs install example script

This commit is contained in:
2025-05-23 22:11:26 +02:00
parent 3b38c45562
commit 03d25a44f0
2 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,10 @@
--- gromacs-2018.8/src/gromacs/utility/arrayref.h 2019-10-04 08:39:25.000000000 +0200
+++ gromacs-2018.8-fixed/src/gromacs/utility/arrayref.h 2025-05-23 14:54:03.458763669 +0200
@@ -46,6 +46,7 @@
#include <cstddef>
#include <array>
+#include <limits>
#include <iterator>
#include <stdexcept>
#include <utility>

View File

@ -0,0 +1,52 @@
#!/bin/bash
#set -x
GMX_VERSION=2018.8
WORKDIR=$PWD
CMAKE_PARAMETERS="-DCMAKE_INSTALL_PREFIX=/usr/local/gromacs-${GMX_VERSION} -DGMX_HWLOC=off"
if [ -f /var/lib/install_gromacs-${GMX_VERSION} ]; then
CMAKE_PARAMTERS_OLD=$(</var/lib/install_gromacs-${GMX_VERSION})
if [ "$CMAKE_PARAMETERS" == "$CMAKE_PARAMTERS_OLD" ]; then
NO_CHANGE=true
echo "No change detected"
else
NO_CHANGE=false
echo "Change detected"
fi
else
NO_CHANGE=false
echo "Change detected, /var/lib/install_gromacs-${GMX_VERSION} not found"
fi
# if the former cmake parameters are the same
if [ -d /usr/local/gromacs-${GMX_VERSION} -a $NO_CHANGE = true ]; then
echo "Assume $GMX_VERSION is installed"
exit 0
else
cd /tmp
curl --fail https://ftp.gromacs.org/gromacs/gromacs-${GMX_VERSION}.tar.gz \
--output gromacs-${GMX_VERSION}.tar.gz \
--silent || echo "Version not found: gromacs-${GMX_VERSION}"
tar xfz gromacs-${GMX_VERSION}.tar.gz
rm gromacs-${GMX_VERSION}.tar.gz
mkdir -p gromacs-${GMX_VERSION}/build
# this patch is need because 2018.8 is *really* old by now
if [ $GMX_VERSION==2018.8 ]; then
pushd gromacs-${GMX_VERSION}
patch --verbose -p1 < $WORKDIR/compile_gromacs_2018.8_bookworm.patch
fi
popd
pushd gromacs-${GMX_VERSION}/build
cmake .. $CMAKE_PARAMETERS
make -j $(nproc)
make install -j $(nproc)
popd
rm -rf gromacs-${GMX_VERSION}
# save parameters of installation
echo $CMAKE_PARAMETERS > /var/lib/install_gromacs-${GMX_VERSION}
fi
echo "Run the following command to set the LD_LIBRARY_PATH in order to compile pygmx:"
echo "source /usr/local/gromacs-${GMX_VERSION}/bin/GMXRC"