From c472c0d77ab6fbabe7ebe7250663f1f8b12ee628 Mon Sep 17 00:00:00 2001
From: Pietro Incardona <i-bird@localhost.localdomain>
Date: Wed, 9 Mar 2016 06:47:54 -0500
Subject: [PATCH] Adding installation of PARMETIS

---
 install                    | 18 ++++++++++++++----
 script/install_Parmetis.sh | 20 ++++++++++++++++++++
 2 files changed, 34 insertions(+), 4 deletions(-)
 create mode 100755 script/install_Parmetis.sh

diff --git a/install b/install
index a0e636118..74f85823a 100755
--- a/install
+++ b/install
@@ -138,6 +138,7 @@ fi
 
 MPI_installed=0
 METIS_installed=0
+PARMETIS_installed=0
 BOOST_installed=0
 LAPACK_installed=0
 SUITESPARSE_installed=0
@@ -218,6 +219,15 @@ else
             ./script/install_EIGEN.sh $i_dir $compiler_opt
             configure_options=" $configure_options --with-eigen=$i_dir/EIGEN "
             EIGEN_installed=1
+	elif [ $conf_err -ne 207 ]; then
+            echo "ParMetis not found try to install"
+            if [ $PARMETIS_installed -eq 1  ]; then
+                echo "Error the installation of ParMETIS failed"
+                exit 1
+            fi
+            ./script/install_ParMetis.sh $i_dir $compiler_gcc $compiler_gpp
+            PARMETIS_installed=1
+            configure_options=" $configure_options --with-parmetis=$i_dir/PARMETIS "
         elif [ $conf_err -ne 0 ]; then
             echo "I do not know how to recover from this error"
             exit 1
@@ -227,10 +237,10 @@ fi
 
 ### Create example.mk
 install_base=$(cat install_dir)
-echo "INCLUDE_PATH=-I. -I$install_base/openfpm_numerics/include -I$install_base/openfpm_pdata/include/config -I$install_base/openfpm_pdata/include -I$install_base/openfpm_data/include -I$install_base/openfpm_vcluster/include -I$install_base/openfpm_io/include -I$install_base/openfpm_devices/include -I$i_dir/METIS/include -I$i_dir/BOOST/include" > example.mk
-echo "LIBS_PATH= -L$install_base/openfpm_devices/lib -L$install_base/openfpm_pdata/lib  -L$install_base/openfpm_vcluster/lib -L$i_dir/METIS/lib -L$i_dir/BOOST/lib " >> example.mk
-echo "LIBS=-lvcluster -lofpm_pdata -lofpmmemory -lmetis -lboost_iostreams" >> example.mk
-echo "LIBS_SE2=-lvcluster -lofpmmemory_se2 -lmetis -lboost_iostreams" >> example.mk
+echo "INCLUDE_PATH=-I. -I$install_base/openfpm_numerics/include -I$install_base/openfpm_pdata/include/config -I$install_base/openfpm_pdata/include -I$install_base/openfpm_data/include -I$install_base/openfpm_vcluster/include -I$install_base/openfpm_io/include -I$install_base/openfpm_devices/include -I$i_dir/METIS/include -I$i_dir/PARMETIS/include -I$i_dir/BOOST/include" > example.mk
+echo "LIBS_PATH= -L$install_base/openfpm_devices/lib -L$install_base/openfpm_pdata/lib  -L$install_base/openfpm_vcluster/lib -L$i_dir/METIS/lib -L$i_dir/PARMETIS/lib  -L$i_dir/BOOST/lib " >> example.mk
+echo "LIBS=-lvcluster -lofpm_pdata -lofpmmemory -lmetis -lparmetis -lboost_iostreams" >> example.mk
+echo "LIBS_SE2=-lvcluster -lofpmmemory_se2 -lparmetis -lmetis -lboost_iostreams" >> example.mk
 cp example.mk src/example.mk
 cp example.mk example/example.mk
 
diff --git a/script/install_Parmetis.sh b/script/install_Parmetis.sh
new file mode 100755
index 000000000..2da453d93
--- /dev/null
+++ b/script/install_Parmetis.sh
@@ -0,0 +1,20 @@
+#! /bin/bash
+
+# check if the directory $1/PARMETIS exist
+
+if [ -d "$1/PARMETIS" ]; then
+  echo "PARMETIS already installed"
+  exit 0
+fi
+
+wget http://ppmcore.mpi-cbg.de/upload/parmetis-4.0.3.tar.gz
+tar -xf parmetis-4.0.3.tar.gz
+cd parmetis-4.0.3
+make -j 4
+if [ $? -eq 0 ]; then
+    echo "PARMETIS error installing"
+    exit 0
+fi
+mkdir $1/PARMETIS
+make install
+
-- 
GitLab