27 GLSC 3.8.6

GLSC については、最近では

という記録を書いたけれど、今日は
秋山正和オフィシャルサイト
にある G.L.S.C. を make してみた、という話。

マニュアルは GLSCマニュアル にある。

コンパイルの仕方は従来と違いはない。 glsc-3.8.6.zip を入手して、
unzip glsc-3.8.6.zip
cd glsc-3.8.6
(適当に Makefile を編集して make; sudo make install)

単精度版のライブラリィを作らなくなったこと。 それで ds もつかない、 libglsc.a という名前になった (なるほど)。

機能の説明を読んでいて、 上山パッチの機能は含んでいるような気がしたので (この辺は後で良く調べよう)、 今後はこちらを使うのが良いのかもしれない。しばらく並行利用か。 試しに桂田パッチも作ってみた。
mkdir sagyou
cd sagyou
curl -O http://www-mmc.es.hokudai.ac.jp/~masakazu/Software/glsc-3.8.6.zip
curl -O http://nalab.mind.meiji.ac.jp/~mk/program/graphics/glsc-3.8.6-mk-patch
unzip glsc-3.8.6.zip
cd glsc-3.8.6
patch -p1 < ../glsc-3.8.6-mk-patch
ここで Makefile を開いて編集する。 Makefile.mk というのを入れておいた。 現象数理学科 Mac では、これを Makefile にコピーして、 Fortran コンパイラーの指定 FC だけを適当に直せば使えるのでは。

Fortranコンパイラーが要らなければ
mv Makefile Makefile.org
cp Makefile.mk Makefile
make>&make.log
sudo make install>&make-install.log

ライブラリィ・アーカイブファイル libglsc.a は、 これまでのと名前が衝突しないし、 glsc.h は関数が増えただけみたいだし、 上書きして、上山版と秋山版を両方インストールしておける気がする。

(2019/2/9加筆) libglscd.alibglsc.a へのシンボリック・リンクと してしまうので、混在させるときは最後の make install の時に、 注意が必要である。


コンパイル・スクリプト Manual/cglsc があるけれど、 パスが現在の Mac では使えなさそう。 この辺はまた考えよう。

とりあえず
cglsc386
#!/bin/csh -f

if ($#argv >= 1) then
	if( '-s' == "$1" ) then
		echo GLSC 3.8.6 では単精度はサポートされていません。
		shift
	else
		set glsc=glsc
		#set exflag=-DG_DOUBLE
	endif
endif

if ($#argv == 0) exit 0

#set main=$1:r cmd=("cc -g -O")
set main=$1:r cmd=("cc -O2")
foreach f ($argv)
	set cmd=($cmd ${f:r}.c)
end

exec $cmd -I/usr/X11/include -I/usr/local/include -o $main -L/usr/local/lib -l$glsc -L/usr/X11/lib -lX11 -lm
(/usr/X11/opt/X11 にした方が良いかな?)

一応、このスクリプトのインストール法も書いておくと
curl -O http://nalab.mind.meiji.ac.jp/~mk/program/graphics/cglsc386
chmod +x cglsc386
sudo mv cglsc386 /usr/local/bin

桂田 祐史
2019-04-01