diff --git a/script/install_PETSC.sh b/script/install_PETSC.sh
index d7bb787369144f0a206952154f6e26d2aeb65249..4c1b8e0714b64e29fe89285909e39a16fea0be84 100755
--- a/script/install_PETSC.sh
+++ b/script/install_PETSC.sh
@@ -10,8 +10,19 @@ fi
 # Detect gcc pr clang
 
 source script/detect_gcc
+source script/discover_os
 detect_gcc_or_clang g++
+discover_os
 
+##### if we are on osx we use gsed
+
+if [ x"$platform" == x"osx" ]; then
+  sed_command=gsed
+else
+  sed_command=sed
+fi
+
+####
 
 ## If some dependencies has been installed feed them to PETSC
 
@@ -150,37 +161,21 @@ if [ ! -d "$1/MUMPS" ]; then
   cd MUMPS_5.0.1
   cp Make.inc/Makefile.inc.generic Makefile.inc
  
-  if [ x"$platform" = x"osx"  ]; then
-    # installation for OSX
-
-    sed -i "" -e "s|CC      = cc|CC = mpicc|" Makefile.inc
-    sed -i "" -e "s|FC      = f90| FC = mpif90|" Makefile.inc
-    sed -i "" -e "s|FL      = f90| FL = mpif90|" Makefile.inc 
-
-    sed -i "" -e "s|SCALAP  = -lscalapack -lblacs|SCALAP = -L$1/SCALAPACK/lib -L$1/OPENBLAS/lib -lscalapack|" Makefile.inc
-    sed -i "" -e "s|LIBBLAS = -lblas|LIBBLAS = -lopenblas|" Makefile.inc
-
-    sed -i "" -e "s|OPTF    = -O|OPTF = -fpic -O3" Makefile.inc
-    sed -i "" -e "s|OPTC    = -O -I.|OPTC = -fpic -O3 -I." Makefile.inc
-    sed -i "" -e "s|OPTL    = -O|OPTL = -fpic -O3" Makefile.inc
-
-  else
-    # Installation for linux
+  # Installation for linux
 
-    sed -i "/CC\s\+=\scc/c\CC = mpicc" Makefile.inc
-    sed -i "/FC\s\+=\sf90/c\FC = mpif90" Makefile.inc
-    sed -i "/FL\s\+=\sf90/c\FL = mpif90" Makefile.inc
+  $sed_command -i "/CC\s\+=\scc/c\CC = mpicc" Makefile.inc
+  $sed_command -i "/FC\s\+=\sf90/c\FC = mpif90" Makefile.inc
+  $sed_command -i "/FL\s\+=\sf90/c\FL = mpif90" Makefile.inc
 
-    sed -i "/SCALAP\s\+=\s-lscalapack\s-lblacs/c\SCALAP = -L$1/SCALAPACK/lib -L$1/OPENBLAS/lib -lscalapack" Makefile.inc
-    sed -i "/LIBBLAS\s\+=\s\-lopenblas/c\LIBBLAS = -lopenblas" Makefile.inc
+  $sed_command -i "/SCALAP\s\+=\s-lscalapack\s-lblacs/c\SCALAP = -L$1/SCALAPACK/lib -L$1/OPENBLAS/lib -lscalapack" Makefile.inc
+  $sed_command -i "/LIBBLAS\s\+=\s\-lopenblas/c\LIBBLAS = -lopenblas" Makefile.inc
 
-    sed -i "/OPTF\s\+=\s\-O/c\OPTF = -fpic -O3" Makefile.inc
-    sed -i "/OPTC\s\+=\s\-O\s-I./c\OPTC = -fpic -O3 -I." Makefile.inc
-    sed -i "/OPTL\s\+=\s\-O/c\OPTL = -fpic -O3" Makefile.inc
+  $sed_command -i "/OPTF\s\+=\s\-O/c\OPTF = -fpic -O3" Makefile.inc
+  $sed_command -i "/OPTC\s\+=\s\-O\s-I./c\OPTC = -fpic -O3 -I." Makefile.inc
+  $sed_command -i "/OPTL\s\+=\s\-O/c\OPTL = -fpic -O3" Makefile.inc
 
-    sed -i "/LIBBLAS\s=\s-lblas/c\LIBBLAS = -lopenblas" Makefile.inc
+  $sed_command -i "/LIBBLAS\s=\s-lblas/c\LIBBLAS = -lopenblas" Makefile.inc
 
-  fi
   make -j $2
   
   if [ $? -eq 0 ]; then
@@ -214,38 +209,33 @@ if [ ! -d "$1/SUPERLU_DIST" ]; then
   tar -xf superlu_dist_4.3.tar.gz
   cd SuperLU_DIST_4.3
 
-  if [ x"$platform" = x"osx"  ]; then
-    # installation for OSX
-
-    echo "OSX TO DO BYE"
-    exit 1
-
-  else
-    # Installation for linux
+  # Installation for linux
 
-    sed -i "/DSuperLUroot\s\+=\s\${HOME}\/Release_Codes\/SuperLU_DIST_4.3/c\DSuperLUroot = ../" make.inc
-#    sed -i "/DSUPERLULIB\s\+=\s../lib//c\DSUPERLULIB = ../lib/libsuperlu_4.3.a" make.inc
-    sed -i "/BLASLIB\s\+=/c\BLASLIB = $1/OPENBLAS/lib/libopenblas.a" make.inc
-    sed -i "/LOADOPTS\s\+=\s-openmp/c\LOADOPTS = -fopenmp" make.inc
-    sed -i "/PARMETIS_DIR\s\+=\/project\/projectdirs\/mp127\/parmetis-4.0.3-g/c\PARMETIS_DIR := $1/PARMETIS" make.inc
+  $sed_command -i "/DSuperLUroot\s\+=\s\${HOME}\/Release_Codes\/SuperLU_DIST_4.3/c\DSuperLUroot = ../" make.inc
+  $sed_command -i "/BLASLIB\s\+=/c\BLASLIB = $1/OPENBLAS/lib/libopenblas.a" make.inc
+  $sed_command -i "/LOADOPTS\s\+=\s-openmp/c\LOADOPTS = -fopenmp" make.inc
+  $sed_command -i "/PARMETIS_DIR\s\+=\/project\/projectdirs\/mp127\/parmetis-4.0.3-g/c\PARMETIS_DIR := $1/PARMETIS" make.inc
 
-    sed -i "/METISLIB\s:=\s-L\${PARMETIS_DIR}\/build\/Linux-x86_64\/libmetis\s-lmetis/c\METISLIB := -L$1/METIS/lib -lmetis" make.inc
-    sed -i "/PARMETISLIB\s:=\s-L\${PARMETIS_DIR}\/build\/Linux-x86_64\/libparmetis\s-lparmetis/c\PARMETISLIB := -L$1/PARMETIS/lib -lparmetis" make.inc
+  $sed_command -i "/METISLIB\s:=\s-L\${PARMETIS_DIR}\/build\/Linux-x86_64\/libmetis\s-lmetis/c\METISLIB := -L$1/METIS/lib -lmetis" make.inc
+  $sed_command -i "/PARMETISLIB\s:=\s-L\${PARMETIS_DIR}\/build\/Linux-x86_64\/libparmetis\s-lparmetis/c\PARMETISLIB := -L$1/PARMETIS/lib -lparmetis" make.inc
 
-    sed -i "/I_PARMETIS\s:=\s-I\${PARMETIS_DIR}\/include\s-I\${PARMETIS_DIR}\/metis\/include/c\I_PARMETIS := -I$1/PARMETIS/include -I$1/METIS/include" make.inc
-    sed -i "/CC\s\+=\scc/c\CC = mpicc" make.inc
-    sed -i "/FORTRAN\s\+=\sftn/c\FORTRAN = mpif90" make.inc
-    sed -i "/CFLAGS\s\+=\s-fast\s-m64\s-std=c99\s-Wall\s-openmp\s\\\/c\CFLAGS =-fpic -O3 -m64 -std=c99 -Wall -fopenmp \$(I_PARMETIS) -DDEBUGlevel=0 -DPRNTlevel=0 -DPROFlevel=0" make.inc
-    sed -i "/\s\$(I_PARMETIS)\s-DDEBUGlevel=0\s-DPRNTlevel=0\s-DPROFlevel=0\s\\\/c\ " make.inc
+  $sed_command -i "/I_PARMETIS\s:=\s-I\${PARMETIS_DIR}\/include\s-I\${PARMETIS_DIR}\/metis\/include/c\I_PARMETIS := -I$1/PARMETIS/include -I$1/METIS/include" make.inc
+  $sed_command -i "/CC\s\+=\scc/c\CC = mpicc" make.inc
+  $sed_command -i "/FORTRAN\s\+=\sftn/c\FORTRAN = mpif90" make.inc
 
+  if [ x"$dgc_compiler" == x"clang++" ]; then
+    $sed_command -i "/CFLAGS\s\+=\s-fast\s-m64\s-std=c99\s-Wall\s-openmp\s\\\/c\CFLAGS =-fpic -O3 -m64 -std=c99 -Wall \$(I_PARMETIS) -DDEBUGlevel=0 -DPRNTlevel=0 -DPROFlevel=0" make.inc
+  else
+    $sed_command -i "/CFLAGS\s\+=\s-fast\s-m64\s-std=c99\s-Wall\s-openmp\s\\\/c\CFLAGS =-fpic -O3 -m64 -std=c99 -Wall -fopenmp \$(I_PARMETIS) -DDEBUGlevel=0 -DPRNTlevel=0 -DPROFlevel=0" make.inc
   fi
+  $sed_command -i "/\s\$(I_PARMETIS)\s-DDEBUGlevel=0\s-DPRNTlevel=0\s-DPROFlevel=0\s\\\/c\ " make.inc
 
   make
 
   if [ $? -eq 0 ]; then
     mkdir $1/SUPERLU_DIST
     mkdir $1/SUPERLU_DIST/include
-    cp -r lib/ $1/SUPERLU_DIST
+    cp -r lib $1/SUPERLU_DIST
     cp SRC/*.h $1/SUPERLU_DIST/include
     configure_options="$configure_options --with-superlu_dist=yes --with-superlu_dist-lib=$1/SUPERLU_DIST/lib/libsuperlu_dist_4.3.a --with-superlu_dist-include=$1/SUPERLU_DIST/include/"
   fi
diff --git a/script/pre_req b/script/pre_req
index a2efc79b492f102772586096c8fd276a4f51e0b8..3bbca6b3d1cd5c8feb09d33f4350e865ec179cb7 100755
--- a/script/pre_req
+++ b/script/pre_req
@@ -70,7 +70,7 @@ fi
 
 #### if we are on OSX we install gnu-sed
 
-if [ x"platform" == x"osx" ]
+if [ x"$platform" == x"osx" ]; then
 
   command -v gsed >/dev/null 2>&1
   if [ $? -ne 0 ]; then