GrWin は多様な開発環境で使われることを前提に設計されていて、実際に様々な開発環境向けのコンパイル済みバイナリ(ライブラリ・ファイル)が配布されて非常に多くのユーザーの皆様に使っていただいています。ただ、64ビット環境をはじめとした近年の膨大な数の新しい充実した開発環境の出現に、それらに対応したインストーラの開発が追い付いて行けない実情があります。でも、自分の開発環境にあった配布が見つからないと言ってがっかりしないでください。材料はすべてそろっています。
旧版 GrWin 1.1.1 用に公開されているコンパイル済みバイナリのすべては、やはり公開されている旧版用 GrWinTk ツールキット(ライブラリ・ファイルのソースコード等)を使って作成したものです。最新の版についても対応するバージョンのツールキット から作成することができ、方法さえわかれば誰でも自分の環境にあった GrWin のライブラリ・ファイルを作成し、それを用いた自分だけのグラフィクス・アプリケーションで思う存分楽しむことができるわけです。そこで今回は実例として、様々な開発言語に加えて非常に充実したコマンド群を有する?MSYS2-64bit?を取り上げて、そこで動作する64ビット版の GrWin 開発環境の構築方法について説明したいと思います。MSYS2 は、これをインスト-ルしておくことで Microsoft の Visual Studio や Intel の XE/Visual Fortran 用の GrWin 開発環境(含、統合環境)の作成も容易になりますので是非お勧めです。
以下は、64ビット版 Windows 10 を使用している方を対象にして話を進めることにします。なお32ビット環境で使用する場合にも、以下の64ビット関連の説明部分を対応する32ビットのものに適宜読み替えることでそのまま有効です。
作業は次の手順になります:
- MSYS2-64bit のインストールと設定
- 64ビット版の GrWin サーバーのインストール
- GrWinTk ツールキットによる64ビット版ライブラリ・ファイルの作成
- 64ビット版 GrWin ライブラリのMSYS2-64bit 環境へのインストール
以下、説明は適宜読み飛ばしてかまいませんが、各項目 A, B, C, ・・・を「順を追って」確実に実行することが重要です(もちろん、理解した上での省略や順序の入れ替えは問題ありません)。
- MSYS2-64bit のインストールと設定
- MSYS2-64bit 基本部分のインストール
MSYS2 のホームページ から MSYS2-64bit のインストーラ(msys2-x86_64-20xxxxxx.exe) をダウンロードして実行、あるいは直接実行します。デフォルト(規定値)の設定のまま「次へ」ボタンを押していくと「MSYS2-64bit のインストール」が始まり、しばらくして「MSYS2-64bit のウィザードの完了」画面で終了します。「完了」ボタンを押すとコンソールウィンドウが立ち上がります。コンソールウィンドウが立ち上がらないときは、スタートメニューから[MSYS2 64bit]⇒[MSYS2 MSYS]を選択して立ち上げます。コンソールウィンドウ[MSYS2 MSYS]で以下を入力します:
$ pacman -Syu
ここで ’$’ はプロンプト(入力要求記号)ですので打ち込まないでください(以下も同様)。表示される[Y/n] にはすべて ’enter’ キーで応えます(デフォルト選択)。しばらくすると「警告:… close your terminal window instead of calling exit」と表示されて止まるので、指示通りウィンドウ右上隅の「×」をクリックしてコンソールウィンドウを閉じます。「Processes are running … 」という警告のダイアログが表示されますが「OK」ボタンで強制終了します。スタートメニューから[MSYS2 64bit]⇒[MSYS2 MSYS]を選択して、再びコンソールウィンドウ[MSYS2 MSYS]を立ち上げ、以下を入力します:
$ pacman -Su
プロンプト’$’ が表示されてコマンドの入力が可能な状態になったらMSYS2-64bit の基本部分のインスト-ルは完了です。スタートメニューの[MSYS2 64bit]には- MSYS2 MinGW 32-bit
- MSYS2 MinGW 64-bit
- MSYS2?MSYS
が表示されるはずで、メンテナンス作業は主に [MSYS2 MSYS] から行うことになります。64ビット版 GrWin プログラムのコンパイル/リンクや実行などの今後の作業は [MSYS2 MinGW 64-bit] のウィンドウで行います。
- 開発環境の基本部分のインストール
[MSYS2 MSYS] から、開発環境の基本部分をインストールします。以下のコマンドを一行ずつ入力します:
$ pacman -S base-devel
$ pacman -S make
$ pacman -S perl
入力要求にはすべて ’enter’ キーで応えます。python や git を使う予定のある方はここで同様にインストールするとよいでしょう。 - 64ビット版開発環境のインストール
[MSYS2 MSYS] は開いたまま、次に C++ や Fortran の64ビット版開発環境をインストールします。以下のコマンドを入力します:
$ pacman -S mingw-w64-x86_64-toolchain
入力要求にはすべて ’enter’ キーで応えます。次に確認作業として、今開いている [MSYS2 MSYS] は不具合があった時のために開いたままにして、新たにスタートメニューから[MSYS2 64bit]⇒[MSYS2 MinGW 64-bit]を選択して立ち上げます。[MSYS2 MinGW 64-bit] で以下のコマンドを一行ずつ入力します:
$ tar --version
$ gzip --version
$ make --version
$ perl --version
$ gcc --version
$ gfortran --version
何らかのエラーが出た場合には [MSYS2 MSYS] で対応します。エラーなく、各ツールのバージョン情報が表示されれば、64ビット版の GrWin を使うための MSYS2-64bit のインストールは完了です。[MSYS2 MSYS] が開いたままなら閉じます。
- MSYS2-64bit 基本部分のインストール
- 64ビット版の GrWin サーバーのインストール
- ライセンス(インストールキー)の取得
利用形態に応じたライセンス(インストールキー)を取得します。 - GrWin サーバーのインストーラ(.msi ファイル)のダウンロード
非商用か商用かに応じて 「非商用 GrWin サーバー のインストーラ」または「商用 GrWin サーバー のインストーラ」から 適切なインストーラをダウンロードします。よくわからないときは GrWin-113_Server.msi または GrWin-C113_Server.msi をダウンロードします。 - GrWin サーバーのインストール
「GrWin Ver.1.1.3 について」を参考にして、ダウンロードした「GrWin サーバーのインストーラ」(.msi ファイル)をクリックしてインストールを始めます。その際、取得したインストールキーがファイル gwlic.txt として「ドキュメント」フォルダーに格納されていればそれが自動認識されますがそうでないときは入力要求に応じて26文字からなるインストールキーを打ち込むか’コピペ’(推奨)します。インストールが終了したら、スタートメニューから [GrWin 1.1] ⇒ [GrWin サーバー (x64)] を選択してインストールした「64ビット版の GrWin サーバー」を立ち上げ、確認します。エラーなく「GrWin Graphics Server #1」のウィンドウが開いたならインストールは成功です。成功しなかった場合には一旦アンインストールします。古い GrWin の関連ファイルが残っているとインストールに失敗することがありますので詳しく調べて対応する必要があります。成功するまでは次のステップに進めません。
- ライセンス(インストールキー)の取得
- GrWinTk ツールキットによる64ビット版ライブラリ・ファイルの作成
- GrWinTk パッケージ( .tgz ファイル)のダウンロード
ここから GrWinTk-113.tgz(GrWin ツールキット のディレクトリを tar+gzip で圧縮したもの)をダウンロードします。Windows の設定によっては拡張子が .tgz から .gz に変更されてしまうようですので、その場合にはエクスプローラ等で正しい .tgz に戻します。以下では、C:¥Users¥%USER%¥Downloads¥GrWinTk-113.tgz (%USER% はログイン・ユーザー名)が存在するとして説明を続けます。 - GrWinTk パッケージの展開
[MSYS2 MinGW 64-bit] のコンソールウィンドウで、ユーザーの「デスクトップ」に作業フォルダーとして「GrWin」を作成し、そこに GrWinTk ツールキットのフォルダーを展開します:
$ mkdir /C/Users/$USER/Desktop/GrWin
$ cd /C/Users/$USER/Desktop/GrWin
$ tar xvfz /C/Users/$USER/Downloads/GrWinTk-113.tgz
$ ls -al GrWinTk
- ライセンス・ファイルの登録(重要)
GrWin サーバーのインストール・フォルダー(通常は “C:¥Program Files¥GrWin”)に生成されたキー・ファイル gwkey.c を GrWinTk フォルダーにコピーします:
$ cp "/C/Program Files/GrWin/gwkey.c" ./GrwinTk/gwkey.c
- pgplot ソースコードの展開とパッチ当て
まず、PGPLOTのホームページからソースコードのパッケージをダウンロードします。続いて展開とパッチ当てを行います:
$ cd /C/Users/$USER/Desktop/GrWin/GrWinTk
$ tar xvfz /C/Users/$USER/Downloads/pgplot5.2.tar.gz
$ cp -rf PATCH/pgplot/* pgplot
- f2c 用ライブラリのソースコードの展開とパッチ当て(省略可)
今対象としている MSYS2 64bit のように、 Fortran を使用することができる開発環境では本来不要なのですが 、最近個人使用の場合に無料で使うことができるようになった Microsoft Visual Studio のような Fortran を持たない環境でも「f77 から C へのコンバータ」である f2c をインストールすれば pgplot 等の Fortran に依存したライブラリも使用可能となりますので、この段階での f2c のインストールをお勧めします。インストールを行う場合はまず、f2cのホームページからライブラリのソースコードパッケージ( .zip ファイル)をダウンロードし、エクスローラ等で作業フォルダ内の “GrWinTk¥f2c¥libf2c” へ展開します。続いて展開の確認とパッチ当てを行います:
$ cd /C/Users/$USER/Desktop/GrWin/GrWinTk
$ ls -al f2c/libf2c
$ cp -rf PATCH/f2c/libf2c/* f2c/libf2c
なお、本体の f2c.exe については開発環境に依存しませんので、ビルド済みバイナリが GrWinTk の f2c フォルダに格納されていますのでそのまま利用可能です。もちろん、f2cのホームページからソースをダウンロードして自分でビルドすることも可能です。その場合には GrWinTk の PATCH¥f2c¥src フォルダにあるパッチを当てることを忘れないでください。 - GrWin ライブラリ・ファイルの生成
GrWinTk の build フォルダーには様々な環境に応じたライブラリ・ファイル生成のためのソースが格納されています。今回は MinGW64-gfortran を使用します:
$ cd build/MinGW64-gfortran
$ make -r all
これだけです。確認のため以下を入力してみてください:
$ ./gwdemo17
多面体のフレームがぐるぐる回転するデモが現れれば確認も終りです。
- GrWinTk パッケージ( .tgz ファイル)のダウンロード
- 64ビット版 GrWin ライブラリのMSYS2-64bit 環境へのインストール
バイナリのビルドは完了しましたがまだ、[MSYS2 MinGW 64-bit]の環境下の任意のフォルダで使えるようインストールする作業が残っています。既存の環境にどのようにインストールするかは環境の違いや好みの問題もありますので、ここではもっとも手軽な例を示すだけにします。- 関連ファイルのコピー
インストールが必要なファイル(群)は、ライブラリ・ファイル *.a、Fortran9X 用モジュール・ファイル *.mod、pgplot 関連ファイルです。
$ mkdir /C/pgplot
$ cp pgplot.* grfont.dat rgb.txt /C/GrWin
$ mkdir /usr/local/bin
$ cp gwc* gwf* gwmkmod* /usr/local/bin
$ mkdir /usr/local/include
$ cp grwin.mod ../../grwin.f90 /usr/local/include
$ cp *.h /mingw64/x86_64-w64-mingw32/include
$ cp *.a /mingw64/x86_64-w64-mingw32/lib
- MSYS2 環境変数の設定
[MSYS2 MinGW 64-bit] ウィンドウでこの設定が有効になるよう以下の2行を ~/.bashrc に書き加えます:
GWMODDIR=/usr/local/include;export GWMODDIR
PGPLOT_FONT=C:/pgplot/grfont.dat;export PGPLOT_FONT
- 関連ファイルのコピー
以上で MSYS2 64bit 用の GrWin 開発環境の構築は完了です。[MSYS2 MinGW 64-bit]のコンソ-ル・ウィンドウではなく、Windows のコマンドプロンプトで作業を行いたい場合には別に Windows の環境変数の設定が必要になりますがここでは省略します。興味のある方は WEB から情報をとることができますのでチャレンジしてみてください。
あとはあなたのアイデア次第です!
[サンプルコードの実行]
Fortran9x 用のモジュールファイル grwin.mod と、そのソースコード grwin.f90 は環境変数 GWMODDIR が示すディレクトリ “/usr/local/include” に格納されていますので、Fortran9x のソースで “USE GrWin” を指定している場合は gfortran のコマンドラインに “-I/usr/local/include” オプションを追加してください。なお、GrWin ライブラリを使ったソースのコンパイル/リンクを自動化する簡単なスクリプトが “/usr/local/bin” に格納されていますので適宜ご利用ください。拡張子と、C や C++ の場合はコンソールアプリケーションかWindows アプリケーションかによって使い分けます。GrWinTk/{demo, pgplot/examples, pgplot/cpg} にサンプルのソースコードがありますので、以下の例を参考に色々と試してみてください:
$ gwf90 dp
$ gwf gwdemo17
$ gwc tstconapp
$ gwcw tstwinapp
$ gwcpg cpgdemo
C++ で書かれたコンソール、Windows アプリケーション用にはそれぞれ gwcpp と gwcppw コマンドが使えます。
[参考]
GrWinTk の build フォルダーにある F2 で始まる名前のフォルダは Fortran をもたない開発環境のためのもので、Fortran77 に限定されますが、Fortran のソースコードも f2c で C に変換され利用可能となります。例えば、最近個人が無料で使えるようになった IDE である Visual Studio Express や Visual Studio Community の 64ビット環境で GrWin を使うには build フォルダ内の F2VCPP_x64 でビルドを行います。[x64 Native Tools] のウィンドウで MYS2 の make (GNU-make) にパスを通しておけば上と同様に “make -r all” 一発でビルドが終了するはずです。その他同様に、Visual Studio と Intel Visual Fortran の環境では VS10_IVF_x64 を、また Intel Visual C++/Fortran の環境なら Intel64 や XE2013_x64 を使います。古い設定が含まれているかもしれませんが「ソ-スコードにはすべての情報が含まれています」ので、解読して自分の環境に合ったものに書き換えてチャレンジしてみてください。