FreeBSD, linuxおよび Cygwin へのPGPLOT(5.2) 導入メモ |
---|
FreeBSD/linux/Cygwin へのインストール |
---|
詳細はhttp://www.astro.caltech.edu/~tjp/pgplot/をご覧下さい。
1./usr/local/src に pgplot5.2.tar.gz をコピー 入手先は ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz 2.解凍する cd /usr/local/src gunzip -c pgplot5.2.tar.gz | tar xvof - または tar xvzf pgplot5.2.tar.gz 解凍後、/usr/local/src/pgplot および サブディレクトリが出来る 3.インストール先ディレクトリ作成 mkdir /usr/local/pgplot 4.デバイスドライバーの選択 cd /usr/local/pgplot cp /usr/local/src/pgplot/drivers.list . エディター(vi等)で選択するドライバーの先頭の"!"をはずす vi drivers.list ここで、GIF関係のドライバーや /FILE を選択すると、FreeBSDではエラーが出ます (linuxでは未確認) おすすめドライバーの選択は /LATEX /NULL /PS /VPS /CPS /VCPS /TEK4010 /RETRO /GF /GTERM /XTERM /TK4100 /VT125 /XWINDOW /XSERVE 5.makefile の作成 cd /usr/local/pgplot FreeBSDの場合 /usr/local/src/pgplot/makemake /usr/local/src/pgplot freebsd linuxの場合 /usr/local/src/pgplot/makemake /usr/local/src/pgplot linux g77_gcc ※g77の代わりにgfortranがインストールされているときは、出来上がった makefile中の FCOMPL=g77 のところを FCOMPL=gfortran と修正する Cygwinの場合 /usr/local/src/pgplot/makemake /usr/local/src/pgplot cygwin g77_gcc 6.makefile の編集 linuxの場合は以下の作業(makefileの編集)は不要です FreeBSDの場合 5.で作ったmakefile でmakeを行うと、demo2 プログラムの コンパイル時にエラーが発生して、停止してしまう。そのため、X端末に表示をする際に 必要なpgxwin_serverが作られません。 そこで、vi等でdemo2以降のデモプログラムをコンパイルしないように編集します vi makefile # Routine lists の中の DEMOS= pgdemo1 pgdemo2 ....... の行のpgdemo2以降を削除し、 DEMOS= pgdemo1 とする Cygwinの場合X11ライブラリでエラーを起こすのでmakefileの31, 32, 34, 48行目にある usr/X11R6.4/include という記述を を usr/X11R6/include (".4"を削除) に変更する。 更に/usr/local/src/pgplot/pgdispd/proccom.c の97行目 #include <values.h> を /* #include <values.h> */ のようにコメントアウトする。 7.make の実行 make 正常に実行されれば 更に C で使用するため環境を整えるため make cpg を実行 make clean を実行 この時点で以下のファイルがディレクトリに存在 cpgdemo grexec.f libcpgplot.a pgdemo1 pgxwin_server cpgplot.h grfont.dat libpgplot.a pgplot.doc rgb.txt drivers.list grpckg1.inc makefile pgplot.inc linux版では更に libpgplot.so も出来ています 8.ライブラリおよびCインクルードファイルを標準ディレクトリへコピー cp libcpgplot.a /usr/lib cp libpgplot.a /usr/lib cp cpgplot.h /usr/include linuxでは更に cp libpgplot.so /usr/lib 9.デモプログラムの実行 環境変数を以下のように設定 csh の場合 setenv PGPLOT_DIR /usr/local/pgplot/ sh,bash の場合 PGPLOT_DIR="/usr/local/pgplot/"; export PGPLOT_DIR または export PGPLOT_DIR=/usr/local/pgplot/ デバイスに/XWINDOWまたは/XSERVEを使用する場合は更に以下(表示先)を設定 csh の場合 setenv DISPLAY IPアドレス又はマシン名:0.0 sh,bash の場合 export DISPLAY=IPアドレス又はマシン名:0.0 pgdemo1(FORTARNデモ) または cpgdemo(Cプログラムデモ)を実行する 注意事項:Tera Term から実行するときは 「Setup」->「Terminal」で「Auto switch」にチェックが入っていることを確認 すること 10.Cプログラムのコンパイル方法 以下のいずれかの方法でコンパイルする。プログラム名はtest.cとする 方法1 f77 -o test test.c -lcpgplot -lpgplot -L/usr/X11R6/lib -lX11 -lm (注:PGPLOTは元々FORTRANで開発されたプログラムなのでFORTARN コンパイラーおよびリンカーでコンパイルしないと駄目なよう。 実際、cc -o test .... でコンパイル、リンクをやると undefined reference to 'xxxxx' というエラーがたくさん出る) 方法2 cc -O2 -c -I. test.c f77 -o test test.o -lcpgplot -lpgplot -L/usr/X11R6/lib -lX11 -lm 64ビットCPU機でコンパイルする場合は /usr/X11R6/lib の部分を /usr/X11R6/lib64 に変更する Debian GNU/Linux3.1では #apt-get install g77 でg77をインストールしておく X11ライブラリパッケージがインストールされていないときは #apt-get install libx11-dev でインストールしておく Debian GNU/Linux4.1では上記以外にCのインクルードファイル群がインストールされていないときは #apt-get install libc6-dev でインストールしておく 11. ディスプレーデバイスの指定に関して linux, FreeBSDでは /XSERVEがお勧め 注:Cygwinではlinuxの場合と同じですが場合によっては drivers.list で指定していない (含まれていない)にも関わらず /GW がディスプレーに表示する際のデバイスとなる 場合があります。その場合は /XSERVE等は何故かデバイスリストに表示されない。 何故こうなるかは不明ですがWindows版のPGPLOTを独立にインストールしている場合は その時の条件に依存しているのかもしれません。
その他 |
---|
FreeBSDのportを使用してのインストール ネットワーク環境(caltechのサーバにアクセスできる)をととのえてから、 cd /usr/ports/graphics/pgplot make install とすれば終わりでした。 実際は、そのままいかず 1:pgplotをの/usr/lib, /usr/includeにインストールしなかった場合、ライブ ラリおよびインクルートファイルのある場所を、-I とか、-L オプションで makefileに明示する必要があります。
更新履歴 |
---|