2 C言語プログラミング環境のチェック・整備

今回のゼミのメンバーは、春学期にC言語によるプログラミングを行ったので、 C言語によるプログラムの入力・編集とコンパイルには問題がないはず (夏休み中に壊れていなければ)。 それについては省略するが、疑問に思うことがあれば、 自分で調べたり、質問・相談したりすること。


C言語には、グラフィックスの機能はないので、 可視化するには、 データを出力してグラフを描くソフト (gnuplot など) を使うか、 何かグラフィックス・ライブラリィを使う必要がある。


以前の現象数理学科 Mac には、 cglsc コマンドというコマンドが用意されていた。 これは C 言語のプログラムをコンパイルして、 GLSC というグラフィックス・ライブラリィとリンクするというものである。 これがあるかないかチェックしてみよう。
ターミナルで
cglsc
cglsc: command not found のようなエラーメッセージ表示されれば、 インストールされていない (多分)。 エラーメッセージが表示されなければインストールされている。


今後は Julia や Python に移行するつもりであるが、 C言語で書かれたサンプル・プログラムが(たくさん)あるので、 それらを実行可能にするため、GLSCとcglsc コマンドのインストールを行う。

「GLSC についてまとめておく (2021年版)」 というメモを作成してある (今読む必要はない)。


そこからの引用。 以下、ターミナルを用いて、 (sagyou というディレクトリィを作り、そこで作業している。 もしも自分で sagyou という名前のファイルやディレクトリィを作っているならば、 別の名前にすること。)
sagyou はあるか?チェックする。
ls sagyou
sagyou があるかどうかチェックする。 “ls: sagyou: No such file or directory” となればOK. この後、以下のコマンドをコピペしてみる。
必要なファイルを入手してパッチをあてる
mkdir sagyou
cd sagyou
curl -O  http://www602.math.ryukoku.ac.jp/~nakano/software/math/glsc-3.5.a.tar.Z
curl -O  http://nalab.mind.meiji.ac.jp/~mk/daishin/glsc-3.5+a.patch
curl -O  http://nalab.mind.meiji.ac.jp/~mk/program/graphics/glsc-3.5+mk.patch20201229
tar xzf glsc-3.5.a.tar.Z
cd glsc-3.5.a
patch -p1 < ../glsc-3.5+a.patch
patch -p1 < ../glsc-3.5+mk.patch20201229
問題なければ、最後に patching file test/pMakefile のようなメッセージがでるはず。

(もし gfortran などの Fortran コンパイラーがインストールされているならば、 この段階で適当な修正をすれば、 きちんと動くように出来る可能性がある。今回はスルーする。)

ライブラリィのコンパイルを行う
make
これでライブラリィのコンパイルが始まる。 数十秒で終了するはず。 最後に Fortran のサンプル・プログラムのコンパイルを始めて、 おそらくそこで (make[1]: *** [ftests] Error 1 のようなエラーが表示されて止まるはず)。 Fortran を使わなければ、そのエラーは無視して良い。
適当な場所にコピーする
sudo mkdir -p /usr/local/bin /usr/local/include /usr/local/lib
sudo make install
(ここは1つ1つ実行すること。最初の sudo を実行したとき、 パスワードを入力するよう要求される。キーボードから打ち込み、 最後に [enter] をタイプする。)
ここまでで GLSC ライブラリィはインストール出来ている。


用意されているサンプル・プログラムを実行してみたければ
cd test
./ctests
./ctestd
ctests, ctestd はどちらも同じようなことをする。


cglsc というシェル・スクリプトを用意しよう。 (現象数理学科 Mac には、 ~/bin というフォルダがあるはずなので、 そこにコピーする。)
cglsc コマンドを入手してインストール
curl -O http://nalab.mind.meiji.ac.jp/~mk/misc/20210429/cglsc
chmod +x cglsc
cp cglsc ~/bin



Subsections

桂田 祐史