Vine Linux 2.90 (Valandraud)のGNOME2でウィンドウマネージャ(WM)として 標準WMであるMetacityの代わりにsawfishを使うための素人には薦められないRPMです。 実用には耐えないバグがありますが、LISPのデバッグをしてみたい人のために配布します。
もしかしたら、GNOME2になってsawfishが公式WMじゃなくなったこと、開発が中断していることから考えるとデバッグは絶望的で、新規に作りなおしたほうがマシ(それがMetacity)ということなのかもしれません。
randraw.c:118: GNU MP assertion failed: ((mp_limb_t) 1 << m2exp) > c rep: received fatal signal: アボートしました struct debug_buf common: Backtrace in `fatal_signal_handler': <(null)+1077602568><(null)+1074371484> <(null)+1074373824> <__gmp_rand+306> <__gmpz_urandomm+297> <(null)+1074025515> <(null)+1073992298> Lisp backtrace: #2 random ... #1 place-window-randomly ... #0 place-window (# )
GNOME2.4のワークスペース切替器と相性が悪い。メッセージを正しく解釈できないのか、左上以外をクリックすると原点がずれる。
Resolved!
2ch/Linux板/GNOME 2歩目 >>34
で知ったのですが、
libwnckのバグでした。
パッチを適用した
libwnck-2.4.0.1-0vl1.1.src.rpmを置いておきます。
rpmbuild --rebuild
でリビルド、
出来たRPMをrpm -Uvh
でインストール。
specファイルのツッコミ歓迎です
(specに自信が無いのでバイナリを置いていない)。
$ cd sawfish-1.3/lisp sawfish lisp ディレクトリに移動 $ grep 'Menu already active' . -R --include=\*.jl 拡張子*.jlのファイルを対象に検索 ./sawfish/wm/menus.jl: (progn (menu-stop-process 't)(error "Menu already active")) $ emacs ./sawfish/wm/menus.jl & ソースを読み、問題のエラーメッセージはpopup-menuで発生していることを確認 $ sawfish-client 現在起動中の sawfish lisp で read-eval-print-loop が起動。 sawfish 1.3, Copyright (C) 1999-2000 John Harper sawfish comes with ABSOLUTELY NO WARRANTY; for details see the file COPYING Enter `,help' to list commands. ,helpはそれなりに役立つ user> ,whereis popup-menu popup-menuの定義位置確認 popup-menu is exported by: %gaol, sawfish.wm.menus, sawfish.wm.menus. user> ,in sawfish.wm.menus そこへ移動 sawfish.wm.menus>さて、ここからどうしよう?このあたりまでやってみましたが、詰まり気味なので一旦公開します。 ここまで来ればLISPの達人なら簡単? っていうか実はLISPあんまり好きじゃなかったり。 少なくとも好きになれる程読み書きできない
~/rpm/BUILD/sawfish-1.3/lisp
にあるLISPを使うsawfishを起動します。詳しくはソース参照。
環境によっては、普通に configure すると rep-gtk, sawfish の make 時に
/usr/libexec/rep/i386-vine-linux/libtool --mode=link gcc -export-dynamic \ -o sawfish colors.o (略) libtool: link: unable to infer tagged configuration libtool: link: specify a tag with `--tag'というエラーで止まってしまう。
'tagged configuration libtool'などの単語で検索してみると
同じ目にあっている人がいるようだが対策ははっきりしない。
1.52
への changelog に tagged configuration の文字が見えるが、
バージョンを上げても解決しなかった。
/usr/libexec/rep/i386-vine-linux/libtool
はlibtoolパッケージによって作られたlibrepパッケージのファイルであるが、
どちらが悪いのだろうか?
とりあえず、プラットフォームを認識したいようなので
specファイルの%configure
の前に
export CC=%{_target_platform}-gccというのを加えごまかしてある。
Copyright © 2004 Tomohito MAKINO All Right Reserved.Name Last modified Size Description
Parent Directory -
sawfish.sh 2017-06-30 18:40 349
sawfish-1.3-0vl2.src.rpm 2017-06-30 18:40 1.6M
rep-gtk-0.18-0vl2.src.rpm 2017-06-30 18:40 150K
libwnck-2.4.0.1-0vl1.1.src.rpm 2017-06-30 18:40 310K
librep-0.17-0vl2.src.rpm 2017-06-30 18:40 1.1M