MetisとSuiteSparse

sudo apt-get install cmake
cd /tmp
tar -xvzof metis-4.0.3.tar.gz
cd metis-4.0.3
sudo make CC=gcc COPTIONS="-O3 -fno-tree-vectorize -fPIC -fexceptions -m64 -march=native -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize"
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libmetis.a
sudo gcc -shared -o libmetis.so *.o
sudo cp libmetis.so /usr/local/lib
sudo ldconfig
#-lmetis (=libmetis.so)ができていることを確認。
ldconfig -p|grep local
cd /tmp
tar -xvzof SuiteSparse-3.6.1.tar.gz
# metis-4.0.3をmetis-4.0にリネームしておく。
mv metis-4.0 /tmp/SuiteSparse
cd SuiteSparse
sudo make CC=gcc CPLUSPLUS=g++ F77=gfortran CFLAGS="-I../Include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -O3 -fno-tree-vectorize -fexceptions -march=native -m64 -fPIC" F77FLAGS="-I../Include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -O3 -fno-tree-vectorize -fexceptions -march=native -m64 -fPIC" BLAS="-L/usr/local/atlas/lib -lptf77blas -lptcblas -latlas -lgfortran -lgomp -lpthread -ldl" LAPACK="-L/usr/local/atlas/lib -llapack -llapack_LINUX"
sudo cp */Lib/*.a /usr/local/lib
sudo mkdir /usr/local/include/suitesparse
sudo cp UFconfig/UFconfig.h /usr/local/include/suitesparse
sudo cp */Include/*.h /usr/local/include/suitesparse
sudo rm -f /usr/local/include/suitesparse/cs.h
sudo cp CXSparse/Include/cs.h /usr/local/include/suitesparse
for i in */Lib/*.a; do
  echo $i
  sudo rm -rf hoge
  sudo mkdir hoge
  cd hoge
  sudo ar x ../$i
  sudo gcc -shared -o ../`basename $i .a`.so *.o
  cd ..
done
sudo cp *.so /usr/local/lib
sudo ldconfig