gfortran から GLSC が使えない、という訴えが学生からあった。
きれいな解決法はまだ見つかっていないけれど、 とりあえず次のようにすれば出来るみたい。
cd libs/src/ mv glsc_ftn_p.c glsc_ftn_p.c.org expand -6 glsc_ftn_p.c.org > glsc_ftn_p.c cd ../.. |
$(SRCDIR)/glsc_ftn.h: $(SRCDIR)/g_config.h $(SRCDIR)/glsc_ftn_p.c $(CC) $(CFLAGS) $(CDEBUGFLAGS) -E $(SRCDIR)/glsc_ftn_p.c \ | sed -e '/^#/d' | uniq >$@ |
$(SRCDIR)/glsc_ftn.h: $(SRCDIR)/g_config.h $(SRCDIR)/glsc_ftn_p.c expand -6 $(SRCDIR)/glsc_ftn_p.c \ | $(CC) $(CFLAGS) $(CDEBUGFLAGS) -E - \ | sed -e '/^#/d' | uniq >$@ |
cd test mv fproto.c fproto.c.org expand -6 fproto.c.org > fproto.c cd .. |
(2017/5/27) というわけでパッチ glsc-3.5+mk.patch を作った。
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.patch 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.patch |
make sudo mkdir /usr/local/include sudo mkdir /usr/local/lib sudo mkdir /usr/local/bin sudo make install |
(2017/5/27追記) あれ?Makefile 中の CC を、 (中身が GCC) の gcc (Mac Ports でインストールしたものにすると、 g_sformat() で落ちる。 CC を中身が LLVM の /usr/bin/gcc とか /usr/bin/cc にすると 落ちない。 うーん。何が違うんだろう? とりあえず使えるから良いのだけど。 うんと暇が出来たら原因を究明する (かもしれない)。
(2017/5/29追記) 上山パッチを当てると、libs/src/g_bird.h が書き換えられて、 見慣れたマゼンタがモノクロになる。どうしてかなと思ったら、
diff -r _glsc-3.5/libs/src/g_bird.h _glsc-3.5-daishin/libs/src/g_bird.h 62,63c62,63 < #define ROOF_LINE() (g_set_line (G_MAGENTA, 1, G_LINE_SOLID)) < #define SIDE_LINE() (g_set_line (G_MAGENTA, 1, G_LINE_SOLID)) --- > #define ROOF_LINE() (g_set_line (G_BLACK, 1, G_LINE_SOLID)) > #define SIDE_LINE() (g_set_line (G_BLACK, 1, G_LINE_SOLID)) 66c66 < #define ROOF_AREA() (g_set_area (G_MAGENTA)) --- > #define ROOF_AREA() (g_set_area (G_WHITE)) |
おまけ: 現象理学科Macの問題 少しメンテナンスが必要になっている人が多い。
cp -pr /Users/sogosuri/{bin,include,lib} ~ |
export PATH=/Users/ユーザー名/anaconda3/bin:$PATH |
一応、cglsc スクリプトのインストール法も書いておくと
curl -O http://nalab.mind.meiji.ac.jp/~mk/program/graphics/cglsc chmod +x cglsc sudo mv cglsc /usr/local/bin |
桂田 祐史