最近のマックにPGPLOTを入れる。
過去の遺物、、とされているPGPLOT、、、SCISOFTからも削除されちゃったし(><)と思っていたのだけど、以外にもLIONにインストールできてしましました。
忘れないうちにメモ。
まず、PGPLOTのホームページ
- http://www.astro.caltech.edu/~tjp/pgplot/
- ver.5.2.2 の2001年が最新版・・・。古っ。
PGPLOTをコンパイルするのにはfortranが必要で、gfortranを使うのがよさそうなので、
- http://poissondd.wordpress.com/2011/08/06/lapackとgfortranのインストールmac-os-x-version-10-7-lion/
を参考にgfrotranをインストール。gfortranは、scisoftやそのほかのパッケージもあるので、それを使っても良いと思う。Lapackは必要に応じて。PGPLOTのコンパイル自体には必要なし。
gfortranのダウンロードサイトは
ターミナルで移してもいいけど、ファインダーで放り込んでも特に問題ない。
で、PGPLOT。
このホームページがとっても参考になる。
ポイントは、sys_macosというフォルダを作製して、gfortran_gcc.confをその中にコピーすること。このファイルは、大本がどこのものなのか不明なのであるが、aquatermのホームページから
これのAquaTerm1.1.0.dmgをダウンロードすると、似たようなファイルがゲットできる。
つまり、ダウロードしたフォルダの中のadaptersの下にpgplotのフォルダがあり、その中のg77_gcc_AQT.confを多少編集したものがgfrotran_gcc.conf・・と推測できる。diffを貼っとくとこんな感じ。
1c1 < # MacOS X/AQT using g77 and gcc.
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
さて、これの使い方。
PGPLOTは、ダウンロードして解凍したフォルダの中ではmakeしない!
どこか適当なところにフォルダを作成する、たとえば、/usr/local/pgplotとか。で、そのdirで、makemakeをする。
# (解凍したフォルダの絶対path)/makemake (解凍したフォルダの絶対path) macosx gfrotran_gcc
makefileのフォートランコンパイラ64bitに、つまり
FCOMPL=gfortran
を
FCOMPL=gfrotran -m64
とする。
そして、おそらくコンパイルでつっかかるであろうのが、"proccom.c"のファイル。これは、(解凍フォルダ)/pgdispd/proccom.cの位置にある。
宣言がバッティングするので、#includeを適宜コメントアウトする。当家の場合は、2つの#ifdefの内側の#includeをコメントアウトしたらうまくいった。
make make cpg make clean
あと、pathを
export PGPLOT_DIR="/usr/local/pgplot" export PGPLOT_DEV="/xserv" export PGPLOT_TYPE="xserv"
とかしておく。.bashrcの中にでもいれておく。
完成したlibpgplot.dylibを/usr/local/libにコピーしておく。
cp -p /usr/local/pgplot/libpgplot.dylib /usr/local/lib/
これで、
/usr/local/pgplot/pgdemo1
とかするとデモが動作する。
gfortran -o cpgdemo cpgdemo.o -L`pwd` -lcpgplot -lpgplot -L/usr/X11R6/lib -lX11
でコンパイル可能なはず。
該当ページによると、
gcc -m64 -c aaaa.c gfortran -m64 -O3 -o aaaa aaaa.o -L/usr/local/pgplot -lcpgplot -lpgplot -lgcc -lm -L/opt/local/lib -X11