[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mgp-users-jp 00418] Magic Point on NetBSD-current
- To: mgp-users-jp@mew.org
- Subject: [mgp-users-jp 00418] Magic Point on NetBSD-current
- From: HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
- Date: Mon, 1 Feb 1999 01:38:55 +0900
- Cc: seirios@Matrix.iri.co.jp
- Posted: Mon, 01 Feb 1999 01:38:30 +0900
- Reply-to: mgp-users-jp@mew.org
IRI 許です。
NetBSD-current (1998/01/23) の上で MagicPoint が動かないので、調べて
みて、とりあえず無理矢理動かす方法は判りましたので、報告します。
ちょっと長いですが、かんべんして下さい。
症状
% mgp sample.mgp
Can't open vffont minsl (vfcap=/usr/local/share/VFlib/vfontcap)
mgp1.04a でも snap でもこうなります。
使っている VFlib は 2.24.1 です。
OS は NetBSD-current 1998/01/23 です。1.3.3 は試してません。
# なお、configure 段階から libVFlib が無いと言われて悲しいので、libVFlib2 を
# libVFlib にlinkしてとりあえず試しています。
まず、FreeBSD で試しました。これは全く問題なく動きました。
NetBSD のせいか?と思いちょっと詳しく調べてみました。
とりあえず、mgp の font.c を調べて、Error が出ているところを調べると、
VF_OpenFont 呼ぶところで落ちています。
まず vfontcap を疑って見ましたが、これは間違っていません。
(VFlib付属のtoolを使って調べたところ問題なくfontはopenできる)
そこで、font.c にちょいと手を入れて open している font を表示させて
みたところminslを2回呼びに行っていて、2度目で落ちます。
これは、VFlibが悪いのか?と思い、VFlib の方の src/VFlib.c から
VF_OpenFontでPrintf debugをしたところ、1度目にVF_OpenFontする時には
VF_init済みと判断して、問題なく処理するのですが、2度目(つまりエラー
を出す時)は VF_init されていないと判断するようです。
1度目の VF_OpenFontでは
VFlibInited=1
ですが、2度目で
VFlibInited=0
となっていて、VF_OpenFontからVF_Initを呼びに行ってしまう状態と言う事
がわかりました。
もう一度 font.c を見ると、vfont_fd >= 0 で VF_Deinit() しています。
VF_Deinit すると VFlib は font table をfreeして完全に clear してしま
います。
そこで、とりあえずの対処として、VF_Deinit を comment out すると
mgp が動作しました。
ここまで見てみて、なぜ FreeBSD で動くのか良く判らなくなってしまいま
したが、とりあえずご報告まで。