Lubuntuまでの道のり

lightdmだけ先にインストールしてしまうのがおすすめ。

カスタムOSインストール

Ubuntu 12.04 amd64を選ぶ。

lightdmのインストール。

sudo apt-get install lightdm

再起動をせずに以下の作業を続ける。
Ubuntu日本語フォーラム / テキストログインする方法は?から抜粋した。

/etc/init/lightdm.overrideというファイルがないことを確認してから、次のコマンドを実行。
echo manual | sudo tee /etc/init/lightdm.override

"manual"という単語だけが記されたlightdm.overrideができる。

/etc/default/grubを編集。
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=

という設定が二つある。自分の場合は11行と35行だった。そのうち、35行のものは、

GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8"

となっており、さくらVPSのものである。なので、11行目の頭に#を入れてコメント化する。

#GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
再起動。
sudo apt-get install lubuntu-desktop
sudo apt-get install vnc4server
.vnc/xstartupを編集
x-window-manager &

コメントアウトし、以下のように変更する。

#x-window-manager &
startlubuntu &

#!/bin/bash

sudo apt-get -yV install build-essential

rm -rf /tmp/lapack
mkdir /tmp/lapack
cd /tmp/lapack
sudo apt-get source lapack
sudo apt-get -yV build-dep lapack

rm -rf /tmp/atlas
mkdir /tmp/atlas
cd /tmp/atlas
sudo apt-get source atlas
sudo apt-get -yV build-dep atlas

cd /tmp
if [ ! -f blas.tgz ]; then
	wget http://netlib.org/blas/blas.tgz
fi
rm -rf BLAS
tar -xvzof blas.tgz
cd /tmp/BLAS
make LOADER="gfortran -fPIC" FORTRAN="gfortran -m64 -fPIC"

cd /tmp
if [ ! -f lapack-3.4.0.tgz ]; then
	wget http://www.netlib.org/lapack/lapack-3.4.0.tgz
fi
rm -rf lapack-3.4.0
tar -xvzof lapack-3.4.0.tgz

cd /tmp/lapack-3.4.0
export F1=" \
-fPIC -fomit-frame-pointer -march=native -fno-schedule-insns2 -fopenmp \
-fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -funroll-all-loops -O3"
cp make.inc.example make.inc
make \
LOADER="gfortran -fPIC" \
FORTRAN="gfortran -m64 -mieee-fp $F1" \
BLASLIB="/tmp/BLAS/blas_LINUX.a -lgfortran -lgomp -lpthread -ldl"

sudo cp /etc/ld.so.conf /etc/ld.so.conf.$$
echo "/usr/local/lib" | sudo tee -a >> /etc/ld.so.conf
#sudo /sbin/ldconfig

cd /tmp/lapack-3.4.0
sudo cp liblapack.a /usr/local/lib/liblapack_LINUX.a
sudo cp libtmglib.a /usr/local/lib/libtmglib_LINUX.a
sudo chmod 755 /usr/local/lib/liblapack_LINUX.a
sudo chmod 755 /usr/local/lib/libtmglib_LINUX.a
sudo /sbin/ldconfig

cd /tmp/lapack-3.4.0
rm -rf hoge
mkdir hoge
cd hoge
ar x ../liblapack.a
gcc -shared -o liblapack.so *.o
sudo cp liblapack.so /usr/local/lib/liblapack_LINUX.so

cd /tmp/lapack-3.4.0
rm -rf hoge
mkdir hoge
cd hoge
ar x ../libtmglib.a
gcc -shared -o libtmglib.so *.o
sudo cp libtmglib.so /usr/local/lib/libtmglib_LINUX.so
 

cd /tmp
if [ ! -f atlas3.9.53.tar.bz2 ]; then
	wget http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.9.53/atlas3.9.53.tar.bz2
fi

cd /tmp
rm -rf ATLAS
rm -rf ATLAS3.9.53
tar -xvjof atlas3.9.53.tar.bz2
mv ATLAS ATLAS3.9.53
cd ATLAS3.9.53
mkdir B1
cd B1
sudo ../configure -t 2 -m 2660 -b 64 --prefix=/usr/local/atlas \
-Fa alg -fopenmp \
-Fa alg -fPIC \
-Ss flapack /tmp/lapack-3.4.0/SRC \
-Si latune 1 \
-Si omp 1
make

cd /tmp/ATLAS3.9.53/B1/
#sudo make time
cd lib
#libatlas
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libatlas.a
sudo gcc -shared -o libatlas.so *.o
sudo cp libatlas.so ../libatlas.so
cd ..
#libcblas
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libcblas.a
sudo gcc -shared -o libcblas.so *.o
sudo cp libcblas.so ../libcblas.so
cd ..
#libptcblas
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libptcblas.a
sudo gcc -shared -o libptcblas.so *.o
sudo cp libptcblas.so ../libptcblas.so
cd ..
#liblapack
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../liblapack.a
sudo gcc -shared -o liblapack.so *.o
sudo cp liblapack.so ../liblapack.so
cd ..
#libf77blas
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libf77blas.a
sudo gcc -shared -o libf77blas.so *.o
sudo cp libf77blas.so ../libf77blas.so
cd ..
#libptf77blas
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../libptf77blas.a
sudo gcc -shared -o libptf77blas.so *.o
sudo cp libptf77blas.so ../libptf77blas.so
cd ..

cd ..
sudo rm -f /usr/local/atlas/lib/*.so
sudo rm -f /usr/local/atlas/lib/*.a
sudo make install

sudo cp /etc/ld.so.conf /etc/ld.so.conf.$$
echo "/usr/local/atlas/lib" | sudo tee -a >> /etc/ld.so.conf
sudo /sbin/ldconfig

cd suitesparse-metis/suitesparse-metis-3.1.0
sudo make purge
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"

cd suitesparse-metis/suitesparse-metis-3.1.0
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

sudo apt-get -yV install libqhull-dev
sudo apt-get -yV install libpcre3-dev
sudo apt-get -yV install libreadline-dev
sudo apt-get install curl
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install bison

sudo apt-get source octave3.2
#sudo apt-get build-dep octave3.2

sudo apt-get install flex
sudo apt-get install gnuplot-nox
sudo apt-get install gperf
##sudo apt-get install groff
sudo apt-get install imagemagick 
#sudo apt-get install libamd2.2.0
sudo apt-get install libarpack2
sudo apt-get install libarpack2-dev
##sudo apt-get install libbit-vector-perl
#sudo apt-get install libbtf1.1.0
##sudo apt-get install libbz2-dev
#sudo apt-get install libcamd2.2.0
##sudo apt-get install libcarp-clan-perl
#sudo apt-get install libccolamd2.7.1
#sudo apt-get install libcholmod1.7.1
#sudo apt-get install libcsparse2.2.3
#sudo apt-get install libcxsparse2.2.3
##sudo apt-get install libdrm-dev
##sudo apt-get install libexif-dev
##sudo apt-get install libexpat1-dev
sudo apt-get install libfftw3-3
sudo apt-get install libfftw3-dev
sudo apt-get install libfltk1.1
sudo apt-get install libfltk1.1-dev
sudo apt-get install libfreetype6-dev
##sudo apt-get install libftgl-dev
##sudo apt-get install libftgl2
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglpk-dev
sudo apt-get install libglpk0
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libgraphicsmagick++1-dev
sudo apt-get install libgraphicsmagick++3
sudo apt-get install libgraphicsmagick1-dev
sudo apt-get install libgraphicsmagick3
sudo apt-get install libhdf5-serial-1.8.4
sudo apt-get install libhdf5-serial-dev
##sudo apt-get install libice-dev
##sudo apt-get install libjasper-dev
##sudo apt-get install libjpeg62-dev
#sudo apt-get install libklu1.1.0
##sudo apt-get install libkms1
##sudo apt-get install liblcms1-dev
#sudo apt-get install libldl2.0.1
##sudo apt-get install libltdl-dev
##sudo apt-get install libpng12-dev
##sudo apt-get install libpthread-stubs0
##sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libqrupdate-dev
sudo apt-get install libqrupdate1
##sudo apt-get install libsm-dev
#sudo apt-get install libsuitesparse-dev
##sudo apt-get install libtiff4-dev
##sudo apt-get install libtiffxx0c2
##sudo apt-get install libtool
#sudo apt-get install libumfpack5.4.0
##sudo apt-get install libwmf-dev
##sudo apt-get install libx11-dev
##sudo apt-get install libxau-dev
##sudo apt-get install libxcb1-dev
##sudo apt-get install libxdmcp-dev
##sudo apt-get install libxext-dev
##sudo apt-get install libxml2-dev
##sudo apt-get install mesa-common-dev
##sudo apt-get install psutils
##sudo apt-get install quilt
##sudo apt-get install slice
sudo apt-get install texi2html
sudo apt-get install texinfo
##sudo apt-get install texlive-generic-recommended
##sudo apt-get install x11proto-core-dev
##sudo apt-get install x11proto-input-dev
##sudo apt-get install x11proto-kb-dev
##sudo apt-get install x11proto-xext-dev
##sudo apt-get install xtrans-dev
##sudo apt-get install zlib1g-dev


cd /tmp
if [ ! -f octave-3.4.3.tar.gz ]; then
	wget ftp://ftp.gnu.org/gnu/octave/octave-3.4.3.tar.gz
fi
sudo rm -rf octave-3.4.3
tar -xvzof octave-3.4.3.tar.gz
cd octave-3.4.3
export F1="-fPIC -fomit-frame-pointer -march=native -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -funroll-all-loops -O3"
sudo make clean
sudo LIBS="-lgfortran -lgomp -lpthread -ldl" CFLAGS="-mieee-fp $F1" CPPFLAGS="-mieee-fp $F1" FFLAGS="$F1" ./configure --prefix=/usr/local --enable-shared --enable-dl --disable-static --with-blas="-lptf77blas -lptcblas -latlas -lgfortran -lgomp -lpthread -ldl" --with-lapack="-ltmglib_LINUX.a -llapack_LINUX.a"
sudo make

sudo apt-get install libqhull-dev
sudo apt-get install libpcre3-dev
sudo apt-get install libreadline-dev
#sudo LIBS="-lmetis -lgfortran -lgomp -lpthread -ldl" CFLAGS="-I/usr/local/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" CPPFLAGS="-I/usr/local/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" FFLAGS="-I/usr/local/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" ./configure --prefix=/usr/local --enable-shared --enable-dl --disable-static --with-blas="-L/usr/local/atlas/lib -lptf77blas -lptcblas -latlas -lgfortran -lgomp -lpthread -ldl" --with-lapack="-L/usr/local/atlas/lib -llapack -llapack_LINUX" LDFLAGS="-L/usr/local/lib -I/usr/local/include"
sudo LIBS="-lmetis -lgfortran -lgomp -lpthread -ldl" CFLAGS="-I/usr/local/include -I/usr/local/suitesparse/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" CPPFLAGS="-I/usr/local/include -I/usr/local/suitesparse/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" FFLAGS="-I/usr/local/include -I/usr/local/suitesparse/include -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -fno-tree-vectorize -fexceptions -O2 -m64" ./configure --prefix=/usr/local --enable-shared --enable-dl --disable-static --with-blas="-L/usr/local/atlas/lib -lptf77blas -lptcblas -latlas -lgfortran -lgomp -lpthread -ldl" --with-lapack="-L/usr/local/atlas/lib -llapack -llapack_LINUX" LDFLAGS="-L/usr/local/lib  -I/usr/local/include -I/usr/local/suitesparse/include"

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

UbuntuでATLAS(3.9.51)とLAPACK(3.3.1)を入れる。

kkaneko.comを見ながら、新しいバージョンを入れてみたときのメモです。

方針

ATLAS3.9.51は私の環境ではだめでした。ATLASのインストールは問題がありませんが、LAPACKがctestのところでSegmentation faultで止まります。3.9.25は止まらないことを確認しています。

引き続きATLAS(1回目)→LAPACK→ATLAS(2回目)という手順で行います。LAPACK、ATLASともに、パッケージを使わずに自力で入れます。

sudo apt-get install gfortran
# ATLAS(1回目)
cd /tmp
wget http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.9.25/atlas3.9.25.tar.bz2
tar -xvjof atlas3.9.25.tar.bz2
mv ATLAS ATLAS3.9.25
cd ATLAS3.9.25
mkdir B1
cd B1
sudo ../configure -t 2 -m 2660 -b 64 --prefix=/usr/local/atlas -Fa alg '-fopenmp -fPIC'
sudo make
sudo make time
cd lib
#ATLASの共有ライブラリ(.so)の作成は自力で行う。←New!
#以下のライブラリに対して、作業を繰り返し行う。
#libatlas.a
#libcblas.a
#libptcblas.a
#liblapack.a
#libf77blas.a
#libptf77blas.a
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../ライブラリ.a
sudo gcc -shared -o ライブラリ.so *.o
sudo cp ライブラリ.so ../ライブラリ.so
cd ..
#
cd ..
sudo rm -f /usr/local/atlas/lib/*.so
sudo rm -f /usr/local/atlas/lib/*.a
sudo make install
#/etc/ld.so.confに、/usr/local/atlas/libをあらかじめ追加しておく。
sudo /sbin/ldconfig
#確認
#自力で作った共有ライブラリではない場合、
#以下のコマンドを使ってもリンクが見えない。
ldconfig -p|grep atlas
# LAPACK
cd /tmp
wget http://www.netlib.org/lapack/lapack-3.3.1.tgz
tar -xvzof lapack-3.3.1.tgz
cd /tmp/lapack-3.3.1
cp make.inc.example make.inc
sudo make cleanall
sudo make LOADER="gfortran -g -fPIC" FORTRAN="gfortran -fimplicit-none -g -m64 -fPIC" OPTS="-mieee-fp -fomit-frame-pointer -fno-schedule-insns2 -fopenmp -fno-tree-loop-optimize -funroll-all-loops -O3 -fno-tree-vectorize -fexceptions -march=native" LOADOPTS="-L/usr/local/atlas/lib" BLASLIB="-lptf77blas -latlas -lgfortran -lgomp -lpthread -ldl"
sudo cp lapack_LINUX.a /usr/local/lib/liblapack_LINUX.a
sudo cp tmglib_LINUX.a /usr/local/lib/libtmglib_LINUX.a
sudo chmod 755 /usr/local/lib/liblapack_LINUX.a
sudo chmod 755 /usr/local/lib/libtmglib_LINUX.a

cd /tmp/lapack-3.3.1
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../lapack_LINUX.a
sudo gcc -shared -o lapack_LINUX.so *.o
sudo cp lapack_LINUX.so /usr/local/lib/liblapack_LINUX.so

cd /tmp/lapack-3.3.1
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../tmglib_LINUX.a
sudo gcc -shared -o tmglib_LINUX.so *.o
sudo cp tmglib_LINUX.so /usr/local/lib/libtmglib_LINUX.so
# ATLAS(2回目)
cd /tmp
cd ATLAS3.9.25
mkdir B2
cd B2
#「-Ss flapack /tmp/lapack-3.3.1/SRC -Si latune 1」を加える。
sudo ../configure -t 2 -m 2660 -b 64 --prefix=/usr/local/atlas -Fa alg '-fopenmp -fPIC' -Ss flapack /tmp/lapack-3.3.1/SRC -Si latune 1
#1回目と全く同じ。
sudo make
sudo make time
cd lib
#ATLASの共有ライブラリ(.so)の作成は自力で行う。←New!
#以下のライブラリに対して、作業を繰り返し行う。
#libatlas.a
#libcblas.a
#libptcblas.a
#liblapack.a
#libf77blas.a
#libptf77blas.a
sudo rm -rf hoge
sudo mkdir hoge
cd hoge
sudo ar x ../ライブラリ.a
sudo gcc -shared -o ライブラリ.so *.o
sudo cp ライブラリ.so ../ライブラリ.so
cd ..
#
cd ..
sudo rm -f /usr/local/atlas/lib/*.so
sudo rm -f /usr/local/atlas/lib/*.a
sudo make install

Ubuntuの導入から、Octaveのインストールまで

さくらのVPSUbuntu 10.04 amd64に変更しました。

vncのためのportの設定。

sudo ufw enable
sudo ufw allow 5901/tcp

allowに代えて、limitを使うと制限がかかるので安全らしい。SSH用のportも空けておきます。"/tcp"はつけません。最後に"status"を使って、確認します。

sudo ufw limit (SSH用のport)
sudo ufw status

デスクトップ環境の導入。

sudo apt-get install ubuntu-desktop

vncのインストールと設定。

sudo apt-get install vnc4server
vncserver

パスワードを入力。

cd .vnc/
cp xstartup xstartup.org
rm xstartup
ln -s /etc/X11/Xsession xstartup
metis-4.0.tar.gz
SuiteSparse-3.6.0.tar.gz
octave-3.4.0.tar.bz2 (最新!)

atlas3.9.25.tar.bz2一回目 (なぜか最新だとうまくいかない)

tmpディレクトリにて。

tar -xvjof atlas3.9.25.tar.bz2
sudo mv ATLAS ATLAS3.9.25
cd ATLAS3.9.25
mkdir B1
cd B1
sudo ../configure -t 2 -m 2660 -b 64 -Fa alg '-fopenmp -fPIC' \
--prefix=/usr/atlas -C acg gcc -C if gfortran

Make.incを確認すると、CDEFSのところに-fPICが入っていなかったので書き加えます。(必須かどうかわかりません、とりあえず)

CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS)  -DATL_NCPU=$(NPROC) -fPIC

そのあとmakeします。

sudo make
sudo make check
sudo make ptcheck
sudo make time
cd lib
sudo make ptshared cptshared

DLLを作ろうとしてエラーが発生しますが、無視します。

cd ..
sudo make install

/usr/atlasに*.aと*.soがコピーされます。これ以降の作業を進める前に、Lapackのライブラリを消しておきます。重複を避けるためです。

sudo rm -r /usr/atlas/lib/liblapack.a
sudo rm -r /usr/atlas/lib/liblapack.so

/etc/ld.so.conf

/usr/local/lib

を追加します。

/usr/atlas/lib

も追加したかったのですが、

/sbin/ldconfig

でリンクを更新すると私の環境ではエラーが出るため、あきらめました。
これ以降の作業では"-latlas"をつかわず、/usr/atlas/lib/libatlas.aとpathを直接書き下すことにします。

lapack-3.3.0.tgz

tmpディレクトリにて。

tar -xvzof lapack-3.3.0.tgz
cd lapack-3.3.0
sudo cp make.inc.example make.inc

make.incを編集します。

FORTRAN  = gfortran -fimplicit-none -g
OPTS     = -O3 -fopenmp -fPIC -m64 -march=native -fexceptions -fomit-frame-pointer -fno-tree-vectorize
DRVOPTS  = $(OPTS)
NOOPT    = -g -O -fPIC -m64
LOADER   = gfortran -g
LOADOPTS = -L/usr/atlas/lib
BLASLIB = /usr/atlas/lib/libptf77blas.a /usr/atlas/lib/libatlas.a -lpthread -lgomp

Makeします。

make clean
make

sudo cp lapack_LINUX.a /usr/local/lib/liblapack_LINUX.a
sudo cp tmglib_LINUX.a /usr/local/lib/libtmglib_LINUX.a
sudo chmod 755 /usr/local/lib/liblapack_LINUX.a
sudo chmod 755 /usr/local/lib/libtmglib_LINUX.a

rm -rf hoge
mkdir hoge
cd hoge
ar x ../lapack_LINUX.a
gcc -shared -o lapack_LINUX.so *.o
sudo cp lapack_LINUX.so /usr/local/lib/liblapack_LINUX.so

cd ..
rm -rf hoge
mkdir hoge
cd hoge
ar x ../tmglib_LINUX.a
gcc -shared -o tmglib_LINUX.so *.o
sudo cp tmglib_LINUX.so /usr/local/lib/libtmglib_LINUX.so

atlas3.9.25.tar.bz2二回目

tmpディレクトリにて。

cd ATLAS3.9.25
mkdir B2
cd B2
sudo ../configure -t 2 -m 2660 -b 64 -Fa alg '-fopenmp -fPIC' \
--prefix=/usr/atlas -C acg gcc -C if gfortran \
-Ss flapack tmp/lapack-3.3.0/SRC -Si latune 1

一回目と同じように、Make.incのCDEFSのところに"-fPIC"を追加します。
installの前に古いファイルを消します。

rm -f /usr/atlas/lib/*.so
rm -f /usr/atlas/lib/*.a
rm -rf /usr/atlas/include

それ以外は一回目と同じです。

必須ソフトウェア

http://www.db.is.kyushu-u.ac.jp/rinkou/octave/octavelinux.htmlを見ながら、私の環境に合わせて以下をインストールしました。次のソフトは自力でbuildしました。

sudo apt-get install make
sudo apt-get install patch
sudo apt-get install build-essential
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gawk
sudo apt-get install libtool
sudo apt-get install ccache
sudo apt-get install binutils
sudo apt-get install openssl
sudo apt-get install libgmp3-dev
sudo apt-get install libmpfr-dev
sudo apt-get install libppl-dev
sudo apt-get install libmpc-dev

SuiteSparseは自力で入れます。

sudo apt-get install glpk
sudo apt-get install gsl-bin
sudo apt-get install libgsl0-dev
sudo apt-get install libfltk1.1-dev
sudo apt-get install libreadline-dev
sudo apt-get install libgraphicsmagick++1-dev
sudo apt-get install gperf
(調査中)sudo apt-get install libqrupdate-dev
(調査中)sudo apt-get install libarpack++2-dev
sudo apt-get install libqhull-dev
sudo apt-get install gnuplot

追加で必要だったソフトウェア

sudo apt-get install libfftw3-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install texinfo
sudo apt-get install texi2html