install 15.1 KB
Newer Older
Pietro Incardona's avatar
Pietro Incardona committed
1
#! /bin/bash
Pietro Incardona's avatar
Pietro Incardona committed
2

Pietro Incardona's avatar
Pietro Incardona committed
3
4
5
6
7
source script/help
source script/discover_os
source script/show_solutions
source script/pre_req
source script/remove_old
8
source script/set_mpi
9
source script/conf_PETSC
Pietro Incardona's avatar
Pietro Incardona committed
10

11

Pietro Incardona's avatar
Pietro Incardona committed
12
13
14
15
## Check that your home is not empty

if [ x"$HOME" == x"" ]; then
	 echo -e "Your $HOME folder is empty \033[91;5;1m FAILED \033[0m"
Pietro Incardona's avatar
Pietro Incardona committed
16
	 exit 1
Pietro Incardona's avatar
Pietro Incardona committed
17
18
fi

Pietro Incardona's avatar
Pietro Incardona committed
19
##
Pietro Incardona's avatar
Pietro Incardona committed
20

Pietro Incardona's avatar
Pietro Incardona committed
21
22
23
install_req=1
i_dir=" "
sq=0
Pietro Incardona's avatar
Pietro Incardona committed
24
nomake=0
Pietro Incardona's avatar
Pietro Incardona committed
25

26
while getopts :di:smhc: FLAG; do
Pietro Incardona's avatar
Pietro Incardona committed
27
	case $FLAG in
Pietro Incardona's avatar
Pietro Incardona committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
	    d)
	      echo "Disable depencencies installation"
	      install_req=0
	      ;;
	    i)
	      echo "Setting dependencies installation dir: $OPTARG"
	      i_dir=$OPTARG
	      ;;
	    s)
	      echo "Skipping user cin"
	      sq=1
	      ;;
	    c)
	      echo "Fowarding options $OPTARG to configure script"
	      configure_options=$OPTARG
	      ;;
Pietro Incardona's avatar
Pietro Incardona committed
44
            m)
45
              echo "Skip to make the testing"
Pietro Incardona's avatar
Pietro Incardona committed
46
47
              nomake=1
              ;;
Pietro Incardona's avatar
Pietro Incardona committed
48
	    h)  #show help
Pietro Incardona's avatar
Pietro Incardona committed
49
50
51
52
53
      	      HELP
              ;;
    	    \?) #unrecognized option - are fowarded to configure
              ;;
	esac
Pietro Incardona's avatar
Pietro Incardona committed
54
55
done

incardon's avatar
incardon committed
56
57
discover_os

58
59
## Remove old dependencies and installations

Pietro Incardona's avatar
Pietro Incardona committed
60
61
62
63
if [ x"$i_dir" == x" " ]; then
 i_dir="$HOME"
fi

64
65
remove_old $i_dir

Pietro Incardona's avatar
Pietro Incardona committed
66
67
## Check and try to install the prerequisites

68
pre_req
Pietro Incardona's avatar
Pietro Incardona committed
69
70
71

## clone the dependencies

Pietro Incardona's avatar
Pietro Incardona committed
72
git submodule init
Yaser Afshar's avatar
Yaser Afshar committed
73
74
75
76
if [ $? -ne 0 ]; then
  echo -e "Configure\033[91;5;1m FAILED \033[0m"
  exit 1
fi
Pietro Incardona's avatar
Pietro Incardona committed
77

Pietro Incardona's avatar
Pietro Incardona committed
78
git submodule update
Yaser Afshar's avatar
Yaser Afshar committed
79
80
81
82
if [ $? -ne 0 ]; then
  echo -e "Configure\033[91;5;1m FAILED \033[0m"
  exit 1
fi
Pietro Incardona's avatar
Pietro Incardona committed
83

84
85
86
# Create config directory in each submodule

cd openfpm_data
Pietro Incardona's avatar
Pietro Incardona committed
87
88
89
if [ ! -d src/config  ]; then
  mkdir src/config
fi
90
91
92
cd ..

cd openfpm_devices
Pietro Incardona's avatar
Pietro Incardona committed
93
94
95
if [ ! -d src/config  ]; then
  mkdir src/config
fi
96
97
98
cd ..

cd openfpm_vcluster
Pietro Incardona's avatar
Pietro Incardona committed
99
100
101
if [ ! -d src/config  ]; then
  mkdir src/config
fi
102
103
104
cd ..

cd openfpm_io
Pietro Incardona's avatar
Pietro Incardona committed
105
106
107
if [ ! -d src/config  ]; then
  mkdir src/config
fi
108
109
cd ..

incardon's avatar
incardon committed
110
111
112
113
114
115
cd openfpm_numerics
if [ ! -d src/config  ]; then
  mkdir src/config
fi
cd ..

Pietro Incardona's avatar
Pietro Incardona committed
116
# Create config directory
incardon's avatar
incardon committed
117

Pietro Incardona's avatar
Pietro Incardona committed
118
119
120
if [ ! -d src/config ]; then
  mkdir src/config
fi
incardon's avatar
incardon committed
121

Pietro Incardona's avatar
Pietro Incardona committed
122
## generate configure script
incardon's avatar
incardon committed
123

Pietro Incardona's avatar
Pietro Incardona committed
124
sh ./autogen.sh
Incardona Pietro's avatar
Incardona Pietro committed
125
126
127
128
if [ $? -ne 0 ]; then
  echo -e "Configure\033[91;5;1m FAILED \033[0m"
  exit 1
fi
incardon's avatar
incardon committed
129

Pietro Incardona's avatar
Pietro Incardona committed
130
## check for options
incardon's avatar
incardon committed
131
132
133
134

echo -e "\033[1;34;5mDEPENCENCIES INSTALLATION DIR      \033[0m"
echo -e "Every required dependencies if needed will be installed into: \033[1;34;5m$i_dir\033[0m"
echo -e "if you want to install somewhere else do ./install -i /somewhere/else"
Pietro Incardona's avatar
Pietro Incardona committed
135
if [ $sq -eq 0 ]; then
136
  unset commands
Pietro Incardona's avatar
Pietro Incardona committed
137
138
139
  commands[0]="Continue"
  possible_solutions "${commands[@]}"
fi
incardon's avatar
incardon committed
140

Pietro Incardona's avatar
Pietro Incardona committed
141
ncore=4
Pietro Incardona's avatar
Pietro Incardona committed
142
echo -e "\033[1mHow many core you want to use to install the dependencies?\033[0m"
143
144
145
if [ $sq -eq 0 ]; then
  read ncore
fi
Pietro Incardona's avatar
Pietro Incardona committed
146

incardon's avatar
incardon committed
147
148
149
150
echo -e "Installing requirements into: $i_dir "

##

Pietro Incardona's avatar
Pietro Incardona committed
151
## Take all the options with the exception of -d -i -s
Pietro Incardona's avatar
Pietro Incardona committed
152
153
154

## call the configure script

155
156
### Installing PETSC

Pietro Incardona's avatar
Pietro Incardona committed
157
if [ ! -d "$i_dir/PETSC" -o ! -d "$i_dir/EIGEN" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
158
159
160
    echo -e "\033[1;34m Optional packages  \033[0m"
    echo -e "\033[1mDo you want to install linear algebra packages ?(y/n)\033[0m"
    echo "Installation can take long time (90 minutes on i7-3612QM 4 cores)"
161
162
163
164
165
    if [ $sq -eq 0 ]; then
      read inst_lin_alg
    else
      inst_lin_alg = n
    fi
166

Pietro Incardona's avatar
Pietro Incardona committed
167
168
169
170
#    if [ ! x"$choose" == x"0" ]; then
#        ./script/install_PETSC.sh $i_dir $choose
#        configure_options="$configure_options --with-PETSC=$i_dir/PETSC "
#    fi
Pietro Incardona's avatar
Pietro Incardona committed
171
172
fi

173
174
lin_alg_dir=""
lin_alg_lib=""
Pietro Incardona's avatar
Pietro Incardona committed
175
lin_alg_inc=""
Pietro Incardona's avatar
Pietro Incardona committed
176
177
178
179
180
181
182
183
184
185
186
if [ -d "$i_dir/METIS" ]; then
    configure_options=" $configure_options --with-metis=$i_dir/METIS "
fi
if [ -d "$i_dir/BOOST" ]; then
    configure_options=" $configure_options --with-boost=$i_dir/BOOST "
fi
if [ -d "$i_dir/PARMETIS" ]; then
    configure_options=" $configure_options --with-parmetis=$i_dir/PARMETIS "
fi
if [ -d "$i_dir/HDF5" ]; then
    configure_options=" $configure_options --with-hdf5=$i_dir/HDF5/bin/h5pcc "
Pietro Incardona's avatar
Pietro Incardona committed
187
fi
Pietro Incardona's avatar
Pietro Incardona committed
188
189
190
if [ -d "$i_dir/LIBHILBERT" ]; then
    configure_options=" $configure_options --with-libhilbert=$i_dir/LIBHILBERT "
fi
Pietro Incardona's avatar
Pietro Incardona committed
191

Pietro Incardona's avatar
Pietro Incardona committed
192
193
194
### if we are on linux we have to add -rt

if [ x"$platform" = x"linux" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
195
	lin_alg_lib="$lin_alg_lib -lrt"
Pietro Incardona's avatar
Pietro Incardona committed
196
197
fi

Pietro Incardona's avatar
Pietro Incardona committed
198
199
### MPI compilers must be in your PATH folder

200
set_mpi $i_dir $ncore $CC $CXX $F77 $FC
Pietro Incardona's avatar
Pietro Incardona committed
201

202
203
### METIS and ParMETIS must be installed independently from sistem wide installation

Pietro Incardona's avatar
Pietro Incardona committed
204
./script/install_Parmetis.sh $i_dir $ncore
205
configure_options=" $configure_options --with-parmetis=$i_dir/PARMETIS "
Pietro Incardona's avatar
Pietro Incardona committed
206
./script/install_Metis.sh $i_dir $compiler_gcc $compiler_gpp $ncore
207
configure_options=" $configure_options --with-metis=$i_dir/METIS "
208

Pietro Incardona's avatar
Pietro Incardona committed
209
MPI_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
210
MPI_System_prv=1
211
212
METIS_installed=1
PARMETIS_installed=1
Pietro Incardona's avatar
Pietro Incardona committed
213
BOOST_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
214
BOOST_System_prv=1
Pietro Incardona's avatar
Pietro Incardona committed
215
LAPACK_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
216
LAPACK_System_prv=1
Pietro Incardona's avatar
Pietro Incardona committed
217
SUITESPARSE_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
218
SUITESPARSE_System_prv=1
Pietro Incardona's avatar
Pietro Incardona committed
219
EIGEN_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
220
EIGEN_System_prv=1
Pietro Incardona's avatar
Pietro Incardona committed
221
HDF5_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
222
HDF5_System_prv=1
Pietro Incardona's avatar
Pietro Incardona committed
223
LIBHILBERT_installed=0
Pietro Incardona's avatar
Pietro Incardona committed
224
225
226
conf_err=1

if [ $install_req -eq 0 ]; then
227
    ./configure $options $configure_options "$configure_blas_option"
Pietro Incardona's avatar
Pietro Incardona committed
228
229
230
else
    while [ $conf_err -ne 0 ]
    do
231
        ./configure $options $configure_options "$configure_blas_option"
Pietro Incardona's avatar
Pietro Incardona committed
232
233
234
235
236
237
        conf_err=$?

	echo "Configure script terminated with $conf_err"

        ## if MPI or METIS installation required install it
        if [ $conf_err -eq 200  ]; then
238
            echo "MPI not found try to install, $MPI_installed"
Pietro Incardona's avatar
Pietro Incardona committed
239
240
241
242
            if [ $MPI_installed -eq 1 ]; then
                echo "Error the installation of MPI failed"
                exit 1
            fi
243
            ./script/install_MPI.sh $i_dir $ncore $CC $CXX $F77 $FC
Pietro Incardona's avatar
Pietro Incardona committed
244
            MPI_installed=1
Pietro Incardona's avatar
Pietro Incardona committed
245
            export PATH="$i_dir/MPI/bin:$PATH"
246
            configure_options="$configure_options CXX=mpic++ "
Pietro Incardona's avatar
Pietro Incardona committed
247
248
249
250
251
252
        elif [ $conf_err -eq 201  ]; then
            echo "Metis not found try to install"
            if [ $METIS_installed -eq 1  ]; then
                echo "Error the installation of METIS failed"
                exit 1
            fi
incardon's avatar
incardon committed
253
            ./script/install_Metis.sh $i_dir $compiler_gcc $compiler_gpp
Pietro Incardona's avatar
Pietro Incardona committed
254
            METIS_installed=1
Yaser Afshar's avatar
Yaser Afshar committed
255
            configure_options=" $configure_options --with-metis=$i_dir/METIS "
Pietro Incardona's avatar
Pietro Incardona committed
256
        elif [ $conf_err -eq 202 ]; then
257
            echo "Boost not found try to install in $i_dir with $compiler_opt"
Pietro Incardona's avatar
Pietro Incardona committed
258
            if [ $BOOST_installed -eq 1  ]; then
259
260
261
                echo "Error the installation of Boost failed"
                exit 1
            fi
262
263
264
265
266
            if [ x"$dgc_compiler" == x"icpc" ]; then
              ./script/install_BOOST.sh $i_dir $ncore intel-linux
            else
              ./script/install_BOOST.sh $i_dir $ncore gcc
            fi
267
            BOOST_installed=1
Yaser Afshar's avatar
Yaser Afshar committed
268
            configure_options=" $configure_options --with-boost=$i_dir/BOOST "
269
	elif [ $conf_err -eq 208 ]; then
270
271
272
273
274
            echo "ParMetis not found try to install"
            if [ $PARMETIS_installed -eq 1  ]; then
                echo "Error the installation of ParMETIS failed"
                exit 1
            fi
Pietro Incardona's avatar
Pietro Incardona committed
275
            ./script/install_Parmetis.sh $i_dir $ncore
276
277
            PARMETIS_installed=1
            configure_options=" $configure_options --with-parmetis=$i_dir/PARMETIS "
Pietro Incardona's avatar
Pietro Incardona committed
278
279
280
        elif [ $conf_err -eq 207 ]; then
            echo "HDF5 not found try to install"
            if [ $HDF5_installed -eq 1 ]; then
Pietro Incardona's avatar
Pietro Incardona committed
281
282
                echo "Error the installation of HDF5 failed"
                exit 1	
Pietro Incardona's avatar
Pietro Incardona committed
283
            fi
Pietro Incardona's avatar
Pietro Incardona committed
284
            ./script/install_HDF5.sh $i_dir $ncore
Pietro Incardona's avatar
Pietro Incardona committed
285
            configure_options=" $configure_options --with-hdf5=$i_dir/HDF5/bin/h5pcc "
Pietro Incardona's avatar
Pietro Incardona committed
286
            HDF5_installed=1
Pietro Incardona's avatar
Pietro Incardona committed
287
288
289
290
291
292
293
294
295
        elif [ $conf_err -eq 210 ]; then
            echo "LIBHILBERT not found try to install"
            if [ $LIBHILBERT_installed -eq 1 ]; then
                echo "Error the installation of LIBHILBERT failed"
                exit 1
            fi
            ./script/install_LIBHILBERT.sh $i_dir $ncore
            configure_options=" $configure_options --with-libhilbert=$i_dir/LIBHILBERT "
            LIBHILBERT_installed=1
Pietro Incardona's avatar
Pietro Incardona committed
296
297
298
299
300
        elif [ $conf_err -ne 0 ]; then
            echo "I do not know how to recover from this error"
            exit 1
        fi
    done
Pietro Incardona's avatar
Pietro Incardona committed
301

Pietro Incardona's avatar
Pietro Incardona committed
302
    if [ x"$inst_lin_alg" == x"y" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
303
304
        ./script/install_EIGEN.sh $i_dir $ncore
        ./script/install_PETSC.sh $i_dir $ncore
Pietro Incardona's avatar
Pietro Incardona committed
305
306
    fi

307
308
309
310
	### collect PETSC configuration options
	conf_PETSC

    ./configure $options $configure_options "$configure_blas_option"
Pietro Incardona's avatar
Pietro Incardona committed
311

Pietro Incardona's avatar
Pietro Incardona committed
312
313
fi

Pietro Incardona's avatar
Pietro Incardona committed
314
### Create example.mk
315
install_base=$(cat install_dir)
316
317
openmp_flags="$(cat openmp_flags) $(cat openfpm_flags)"

318
319
echo "INCLUDE_PATH= $openmp_flags  -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 -I$i_dir/HDF5/include -I$i_dir/LIBHILBERT/include  $lin_alg_inc" > example.mk
echo "LIBS_PATH= $openmp_flags -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 -L$i_dir/HDF5/lib -L$i_dir/LIBHILBERT/lib  $lin_alg_dir" >> example.mk
Pietro Incardona's avatar
Pietro Incardona committed
320
321
echo "LIBS=-lvcluster -lofpm_pdata -lofpmmemory -lparmetis -lmetis -lboost_iostreams -lhdf5 -llibhilbert  $lin_alg_lib" >> example.mk
echo "LIBS_SE2=-lvcluster -lofpmmemory_se2 -lparmetis -lmetis -lboost_iostreams -lhdf5 -llibhilbert $lin_alg_lib" >> example.mk
Pietro Incardona's avatar
Pietro Incardona committed
322
323
cp example.mk src/example.mk
cp example.mk example/example.mk
324

Pietro Incardona's avatar
Pietro Incardona committed
325
if [ $nomake -eq 0 ]; then
Pietro Incardona's avatar
Pietro Incardona committed
326
  make clean
327
328
  make
fi
329
330
331
332
333

if [ $? -ne 0 ]; then
  conf_err=1
fi

Pietro Incardona's avatar
Pietro Incardona committed
334
335
echo "Command used to configure"
echo ""
Pietro Incardona's avatar
Pietro Incardona committed
336
echo -e "\033[1m ./configure $options $configure_options \033[0m "
Pietro Incardona's avatar
Pietro Incardona committed
337
echo ""
338
339
340
341
342
343
344

if [ x"$platform" = x"linux" ]; then
  bash_library="export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH"
else
  bash_library="export DYLD_LIBRARY_PATH=\"\$DYLD_LIBRARY_PATH"
fi

Pietro Incardona's avatar
Pietro Incardona committed
345
bash_path="export PATH=\""
346
347
348
349

echo -e "\033[1;34;5m ---------------------------------------  \033[0m"
echo -e "\033[1;34;5m --------- INSTALLATION REPORT ---------  \033[0m"
echo ""
Pietro Incardona's avatar
Pietro Incardona committed
350
351
echo -e "\033[1;34;5m ---------- Mandatory packages ---------  \033[0m"
echo ""
352

Pietro Incardona's avatar
Pietro Incardona committed
353
354
if [ -d "$i_dir/MPI" ]; then
  installation_report="$installation_report \033[92;1mMPI\033[0m Installed: \033[1m $i_dir/MPI \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
355
  bash_path="$bash_path:$i_dir/MPI/bin:"
Pietro Incardona's avatar
Pietro Incardona committed
356
357
358
  bash_library="$bash_library:$i_dir/MPI/lib"
elif [ $MPI_System_prv -eq 1 ]; then
  installation_report="$installation_report \033[92;1mMPI\033[0m Installed: \033[1m System installation \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
359
fi
Pietro Incardona's avatar
Pietro Incardona committed
360

Pietro Incardona's avatar
Pietro Incardona committed
361
if [ -d "$i_dir/METIS" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
362
  installation_report="$installation_report \033[92;1mMETIS\033[0m Installed: \033[1m $i_dir/METIS \033[0m\n"
363
  bash_library="$bash_library:$i_dir/METIS/lib"
364
365
fi

Pietro Incardona's avatar
Pietro Incardona committed
366
if [ -d "$i_dir/PARMETIS" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
367
368
369
370
  installation_report="$installation_report \033[92;1mPARMETIS\033[0m Installed: \033[1m $i_dir/PARMETIS \033[0m\n"
  bash_library="$bash_library:$i_dir/PARMETIS/lib"
fi

Pietro Incardona's avatar
Pietro Incardona committed
371
if [ -d "$i_dir/BOOST" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
372
  installation_report="$installation_report \033[92;1mBOOST\033[0m Installed: \033[1m $i_dir/BOOST \033[0m\n"
373
  bash_library="$bash_library:$i_dir/BOOST/lib"
Pietro Incardona's avatar
Pietro Incardona committed
374
375
376
377
elif [ $BOOST_System_prv -eq 1 ]; then
  installation_report="$installation_report \033[92;1mBOOST\033[0m Installed: \033[1m System installation \033[0m\n"
fi

Pietro Incardona's avatar
Pietro Incardona committed
378
if [ -d "$i_dir/HDF5" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
379
380
381
  installation_report="$installation_report \033[92;1mHDF5\033[0m Installed: \033[1m $i_dir/HDF5 \033[0m\n"
  bash_library="$bash_library:$i_dir/HDF5/lib"
fi
382

Pietro Incardona's avatar
Pietro Incardona committed
383
384
385
386
387
if [ -d "$i_dir/LIBHILBERT" ]; then
  installation_report="$installation_report \033[92;1mLibHilbert\033[0m Installed: \033[1m $i_dir/LIBHILBERT \033[0m\n"
  bash_library="$bash_library:$i_dir/LIBHILBERT/lib"
fi

Pietro Incardona's avatar
Pietro Incardona committed
388
389
390
391
392
393
394
395
396
397
398
399
400
echo -e "$installation_report"

echo ""
echo -e "\033[1;34;5m ---------- Optional packages -----------  \033[0m"
echo ""

installation_report=""

if [ -d "$i_dir/PETSC" ]; then
  installation_report="$installation_report \033[92;1mPETSC\033[0m Installed: \033[1m $i_dir/PETSC \033[0m\n"
  bash_library="$bash_library:$i_dir/PETSC/lib"
else
  installation_report="$installation_report \033[91;1mPETSC\033[0m Installed: \033[1m NO \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
401
fi
402

Pietro Incardona's avatar
Pietro Incardona committed
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
if [ -d "$i_dir/EIGEN" ]; then
  installation_report="$installation_report \033[92;1mEIGEN\033[0m Installed: \033[1m $i_dir/EIGEN \033[0m\n"
fi

echo -e "$installation_report"

echo -e "\033[1;34;5m --------------------------------  \033[0m"

installation_report=""

if [ -d "$i_dir/TRILINOS" ]; then
  installation_report="$installation_report \033[92;1mTRILINOS\033[0m Installed: \033[1m $i_dir/TRILINOS \033[0m\n"
  bash_library="$bash_library:$i_dir/TRILINOS/lib"
else
  installation_report="$installation_report \033[91;1mTRILINOS\033[0m Installed: \033[1m NO \033[0m\n"
fi

if [ -d "$i_dir/OPENBLAS" ]; then
  installation_report="$installation_report \033[92;1mOPENBLAS\033[0m Installed: \033[1m $i_dir/OPENBLAS \033[0m\n"
  bash_library="$bash_library:$i_dir/OPENBLAS/lib"
else
  installation_report="$installation_report \033[91;1mOPENBLAS\033[0m Installed: \033[1m NO \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
425
fi
Pietro Incardona's avatar
Pietro Incardona committed
426
427
428

if [ -d "$i_dir/SUITESPARSE" ]; then
  installation_report="$installation_report \033[92;1mSUITESPARSE\033[0m Installed: \033[1m $i_dir/SUITESPARSE \033[0m\n"
429
  bash_library="$bash_library:$i_dir/SUITESPARSE/lib"
Pietro Incardona's avatar
Pietro Incardona committed
430
431
else
  installation_report="$installation_report \033[91;1mSUITESPARSE\033[0m Installed: \033[1m NO \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
432
fi
Pietro Incardona's avatar
Pietro Incardona committed
433
434
435
436
437
438

if [ -d "$i_dir/SCALAPACK" ]; then
  installation_report="$installation_report \033[92;1mSCALAPACK\033[0m Installed: \033[1m $i_dir/SCALAPACK \033[0m\n"
  bash_library="$bash_library:$i_dir/SCALAPACK/lib"
else
  installation_report="$installation_report \033[91;1mSCALAPACK\033[0m Installed: \033[1m NO \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
439
fi
440

Pietro Incardona's avatar
Pietro Incardona committed
441
442
443
444
445
if [ -d "$i_dir/MUMPS" ]; then
  installation_report="$installation_report \033[92;1mMUMPS\033[0m Installed: \033[1m $i_dir/MUMPS \033[0m\n"
  bash_library="$bash_library:$i_dir/MUMPS/lib"
else
  installation_report="$installation_report \033[91;1mMUMPS\033[0m Installed: \033[1m NO \033[0m\n"
Pietro Incardona's avatar
Pietro Incardona committed
446
fi
Pietro Incardona's avatar
Pietro Incardona committed
447
448
449
450
451
452

if [ -d "$i_dir/SUPERLU_DIST" ]; then
  installation_report="$installation_report \033[92;1mSUPERLU_DIST\033[0m Installed: \033[1m $i_dir/SUPERLU_DIST \033[0m\n"
  bash_library="$bash_library:$i_dir/SUPERLU_DIST/lib"
else
  installation_report="$installation_report \033[91;1mSUPERLU_DIST\033[0m Installed: \033[1m NO \033[0m\n"
453
454
fi

Pietro Incardona's avatar
Pietro Incardona committed
455
456
457
458
459
460
461
if [ -d "$i_dir/HYPRE" ]; then
  installation_report="$installation_report \033[92;1mHYPRE\033[0m Installed: \033[1m $i_dir/HYPRE \033[0m\n"
  bash_library="$bash_library:$i_dir/HYPRE/lib"
else
  installation_report="$installation_report \033[91;1mHYPRE\033[0m Installed: \033[1m NO \033[0m\n"
fi

Pietro Incardona's avatar
Pietro Incardona committed
462
bash_path="$bash_path$PATH\""
Pietro Incardona's avatar
Pietro Incardona committed
463
bash_library="$bash_library\""
464
465
466
467
468
469
470

##### Writing openfpm_vars file

echo "$bash_path" > $HOME/openfpm_vars
echo "$bash_library" >> $HOME/openfpm_vars

echo -e "$installation_report"
Pietro Incardona's avatar
Pietro Incardona committed
471
472
473
474
475
476
477
478
echo ""
echo ""
if [ $conf_err -eq 0  ]; then
  echo -e "Install summary\033[92;5;1m SUCCEED \033[0m"
else
  echo -e "Install summary\033[91;5;1m FAILED \033[0m"
fi

479
480
echo ""
if [ x"$platform" = x"linux" ]; then
Pietro Incardona's avatar
Pietro Incardona committed
481
  echo "Before run any openfpm program you must execute the following command. A simple way would be to append this line at the end of your $HOME/.bashrc"
482
else
Pietro Incardona's avatar
Pietro Incardona committed
483
  echo "Before run any openfpm program you must execute the following command. A simple way would be to append this line at the end of your $HOME/.bash_profile"
484
485
fi
echo ""
Pietro Incardona's avatar
Pietro Incardona committed
486
echo -e "\033[1m source $HOME/openfpm_vars \033[0m"
487
echo ""
Pietro Incardona's avatar
Pietro Incardona committed
488
echo -e "\033[91;1m if you have in your .bashrc or .bash_profile old openfpm setting, please remove it\033[0m"
Pietro Incardona's avatar
Pietro Incardona committed
489
490
echo ""
echo ""
491
492
493
if [ $conf_err -ne 0 ]; then
  exit 1
fi