PGPLOT on Cygwin/X

グラフ表示ライブラリとして一部の業界ではデファクトスタンダードのPGPLOT. Cygwin/XがあればWindowsでも動くかなあと思い,コンパイルしてみたら見事動作しました(makefileとソースを一部編集する必要がありました).

PGPLOTのインストール

せっかくWindowsなのですから,できるだけGUIを利用した方法で紹介します.

ソースファイルの入手

PGPLOTのサイト から pgplot5.2.tar.gz を入手します.最新バージョンは5.2.2(2004年11月現在)です.デスクトップにでも保存しておきます.

解凍

デスクトップに保存したpgplot522.tar.gzというファイルを解凍します(解凍ソフトは WinRAR が便利です).

インストールフォルダの作成

C:\cygwin\usr\localフォルダを開きます.

ここにpgplotとsrcという名前のフォルダを作ります.

コンパイル準備 - drivers.list編集

いま作ったsrcフォルダに移動し,先ほど解凍してできたpgplotフォルダをここ(C:\cygwin\usr\local\src)に移動します.

そのpgplot(C:\cygwin\usr\local\src\pgplot)フォルダを開きます. drivers.listというファイルがあるので,それをコピーします.

コピーしたdrivers.listをC:\cygwin\usr\local\pgplotに貼り付けます.

このdrivers.listをテキストエディタで編集します.編集はメモ帳でもいいのですが,改行コードがWindowsと異なる(CR+LF)ため読みづらいです.テキストエディタには xyzzy をお勧めします.というわけで,とりあえずdrivers.listを開きます.

先頭に「!」がついている行はコメント行です.このコメントをいくつか外します.そうすることでPGPLOTで使用可能なドライバを選択するわけです.

のある行のコメントを外せば大丈夫だと思います.

コンパイル準備 - makefile作成

コンパイルの手順を示すmakefileというものを作ります.そのmakefileをつくるmakemakeというコマンドがあるので,それを実行します.ここでようやくCygwinの出番です.

Cygwinを立ち上げ,つぎのコマンドを入力します. $ cd /usr/local/pgplot $ /usr/local/src/pgplot/makemake /usr/local/src/pgplot cygwin g77_gcc

実行したら,C:\cygwin\usr\local\pgplotにいくつか新しくファイルができています. Cygwinのウィンドウは後で使うので,そのまま残しておいてください. コンパイル準備 - makefileとソースファイルの修正

本来なら,ここまでで準備完了です.が,Cygwinのバージョンがあがったせいなのかよく分かりませんが,このままではコンパイルできず,若干の修正が必要でした.

まずmakefileです.テキストエディタで開きます. 31,32,34,48行目以降に「/usr/X11R6.4/include」という部分があります.この「X11R6.4」という部分の「.4」を削除します.つまり「/usr/X11R6/include」という具合にします.

修正するのはもう一カ所です.C:\cygwin\usr\local\src\pgplot\pgdispd\proccom.cというファイルを開き, 97行目の「#include <valuse.h>」をコメントアウトします.

コンパイル

以上で準備完了,コンパイルします.Cygwinのウィンドウに

$ make

と打ち込みます.しばらくメッセージが流れた後,

*** Finished compilation of PGPLOT ***

Note that if you plan to install PGPLOT in a different
directory than the current one, the following files will be
needed.

       libpgplot.a
       grfont.dat
       rgb.txt
       pgdisp
       pgxwin_server

Also note that subsequent usage of PGPLOT programs requires that 
the full path of the chosen installation directory be named in 
an environment variable named PGPLOT_DIR.

というメッセージで止まっていれば正常終了です.さらに,C言語からもPGPLOTを呼び出せるよう,つぎのようにコマンドを入力します.

$ make cpg

しばらくして

*** Finished compilation of the C PGPLOT wrapper library ***

Note that if you plan to install the library in a different 
directory than the current one, both libcpgplot.a and cpgplot.h 
will be needed.

というメッセージが出れば正常終了です.ここまでくれば無事コンパイルが終わったので,不要なオブジェクトファイルを消すため

$ make clean

とコマンドを打ちます.

環境変数の設定

PGPLOTの使用する環境変数を設定します.C:\cygwin\home\fooディレクトリに移動し(fooの部分はユーザ名.僕の設定ではsakima),そこにある「.bashrc」というファイルをエディタで開きます.

このファイルの一番下に

export PGPLOT_DIR=/usr/local/pgplot
export PGPLOT_DEV=/xserv
export LD_LIBRARY_PATH=/usr/local/pgplot

を書き込みます.保存したら,環境変数の設定を反映させるため,いったんログアウトする(つまりCygwinをいったん終了する)か,

$ source ~/.bashrc

というコマンドを打ち込みます.

デモプログラムの実行

まず,X Window Systemを立ち上げておきます.Cygwinのウィンドウで

$ startx

と入力します.すると,xtermという仮想ターミナルが立ち上がります.

ここからデモプログラムを実行します.実行するには

$ /usr/local/pgplot/pgdemo1

などとコマンドを打ちます.数字の部分は1から17まであるのでいろいろ試すといいでしょう.つぎのスクリーンショットは,pgdemo15を実行したところです.

いやはや,Cygwinってすごく便利ですね.こんなにスムーズに行くとは.

Valid XHTML 1.1! home > コンピュータ > Cygwin >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.2.17HTML convert time to 0.042 sec.