[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

パッケージ: エディタ mule 2.3 (on Emacs 19.28)

Caution

NetBSD 7.0 (たぶん 5.2 あたり以降)では、 mule のコンパイルもできないので、あきらめました。 現在 NetBSD 7.0 上では Emacs 24 (X11 なし) で、日本語入力に anthy を使っています。

そこまでして Emacs 19.28 とか 19.34 を愛する人たちがいるのです(キリッ)

Caution

mule 2.3 nb6 以降、うまくコンパイルできません。orz だれか直して〜

デバッグメモは こちら へ。

Important: チェックポイント

□ ターゲット     /usr/pkgsrc/editors/mule
□ /etc/rc.conf    不要
□ 設定ファイル    不要(カスタマイズを ~/.emacs ですることはある)
□ 動作の確認     mule が起動してくればOK

注意: # や % の意味が分からない人は 用語 を参照してください。

インストール

% su root
# cd /usr/pkgsrc/editors/mule
# make install

Caution

2011/04 以降: make packege ではなく make install を使ってください。 事情の詳細は the Section called 2011 春: make install および make package の動作が変わる in the Chapter called NetBSD サーバの構築 節を参照してください。

pkgsrc/editors/mule TODO

まず wnn canna なしでもコンパイルできること。 次に 19.28 ベースの mule と 19.34 ベースの mule を別のパッケージにする。

こんなの?

pkgsrc/editors/mule/common.mk
pkgsrc/editors/mule-19.28/
pkgsrc/editors/mule-19.34/

mule-2.3nb7 がうまくコンパイルできない件

まぁ、よくわからないのですが、 emacs のメモリ管理まわり (該当ファイルは mule/src/alloc.c) の問題らしいことだけはわかっています。

gcc が厳しくなって or オプティマイザがおかしくて健在化?という気もしますが… gcc の最適化を切っても事態は変わらないので、ちがうような。

(1) 初回起動時かどうか?を見るフラグ: 整数変数 initialized がきちんと 0 になっていない。 このために make_uninit_string() という関数で segmentaion fault が起きます。 ただし、つねに起きるわけではないので、0 になったりならなかったり。 別のプロセスなのに前のプロセスの変更した値が見えているかのようなヤナ動き;)

修正は emacs.c の中にあるグローバル変数

int inialized;
int inialized = 0;
に変更してコンパイル。

先にすすんで、こんどはヒープのところで落ちるようになりますが、 とりあえず、一歩すすめました ;-)。 先は長い。

(2) gcc の最適化を切っても事態は変わらない。

(3) 現状は?

NetBSD/amd64 6.1.2 は allo.c 1625 行で無現ループ?

mark_object ((Lisp_Object *) &ptr->value);

NetBSD/i386 5.1.2 は gmalloc.c の 639 行目でエラー: フリーリストの管理をはじめる部分

_heapinfo[block + blocks].free.size
へ代入するところで落ちる。

p.s.

この freebsd.h の直し方が参考になる?(試してない)

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >