やたー。sf:sbclがOpenBSDで動いたよー。
調子に乗ってportsまで作ったよー: files:openbsd/sbcl.tgz
bootstrapにclispを使うのでビルドに時間がかかるけど、こればかりは我慢すべし。
やったことといえば、OpenBSDで動かない問題を解決するパッチ
を使って、
あとはHaskell/2005/11/16/__errnoと同様のシンボル未解決問題をぷちぷち潰しただけ。
これでclispよりずっと快適なLisp環境ができた。めでたしめでたし。
marc-openbsd-cvs:114747629917265によってprebindはOpenBSD-man:ldconfigと統合された。-Pでprebind、-Dでprebind_stripになる。
ちょっと前の変更で-mでも壊れなくなったみたいなので、常用できるようになったと言えるかな?
現在の手元の環境では、
# ldconfig -Pv /usr/bin /usr/sbin \
/usr/X11R6/bin \
/usr/local/bin /usr/local/libexec /usr/local/sbin \
/usr/local/lib/erlang/erts-5.4.13/bin \
/usr/local/mozilla-firefox
でもきちんと動作している模様。
prebindすると、実行ファイルと、それにリンクしている共有ライブラリに手を入れるので、
portsデータベースの整合性が取れなくなってしまう(サイズとMD5のチェックサムが狂う)。
pkg_*の方でどうにかしないといけないんだろうな。
blob-freeなIntel PRO/Wireless 3945ABGのドライバらしい。
すごいね。
Damien Bergaminiって人はOpenBSD-man:ipwやらOpenBSD-man:iwiやら、
無線まわりやってる人物。
でも,無理やり installworld せず(事前に DESTDIR 指定してよその directory に installworld しておいた上で,その中身を)tar 使って / から上書きする,ってのは,それ普通に installworld するのと何がどれくらい違うのだろう...
libcが入れ替わってmake自身が動かなくなることがあります。
シングルユーザでtarするとファイルの展開がtarの実行で完結するので少しだけ安全。
libcがきちんとbumpされているなら問題になることは無いと思います。
かなり前のネタなんだけど、
disable-output-escaping="yes"が無効なMozillaにおいて、RSSのXSL変換後にJavascriptで要素を更新する手法を適用したのだが、変換後のHTML内でJavascriptからinnerHTMLにtextContentを入れる操作で例外が発生し、要素を更新できない現象。
以前ダメだったのが、今はエラーを吐きながらも変換できるようになった(Firefox 1.5.0.3)。
とりあえずテスト運用してみる。
JavascriptをOnにしないと動かない、
という本質的な問題のはなんとかならんのかねえ。
こんなんどうでしょ。下のPuffyをクリック!
|
|
OpenBSD 3.8
| OpenBSD 3.9
|
もとネタは山口さんのところのimage.scm
です。
使い方はWiLiKi/Hack/Lightboxに。
と思ったら、fontforgeとかfaacはセグるようなるな。
ほかにも動かなくなるソフトがいろいろ。
たくさんの.soファイルをロードするプログラム(gimpとかmltermとか)は明らかに起動が速くなった。
ん?faacはリビルドしてprebindしたら動いたぞ。fontforgeは無理か。
ん?RSS出力が壊れてる。
要修正だな。
sxmlの属性値が(string . string)になっているではないですか。
というわけで、car側をstring->symbolすることで回避。
marc-openbsd-cvs:114667303112550
prelinkとはちょっと違うらしい。これで起動が速くなるのだろうか。
まあld.soを作りなおすだけでいいから動作テストは簡単さね。
ただ、以前の環境と比較するのは面倒だな。
Qtあたりが一番恩恵を受けると思うが、入れてないし……
Scribusのテストも兼ねてQtをビルドしますか。
使い方はそのままなんだけど(もうすぐOpenBSD-man:prebindに反映されるだろうけど)、
いちおうメモしておくと、
OpenBSD-currentを用意して、ld.so以下を再構築、インストール。
あとはprebindしたいバイナリorディレクトリをtargetとするならば、
# prebind target
でおっけー。
こんな感じ。
# prebind emacs
ret
file or dir mode 32768
txtbusy processing /usr/libexec/ld.so
opened /usr/libexec/ld.so.prebxxxxxxxxxx 4 mode 100555
opened /usr/libexec/ld.so 5
total new blocks 328
いちばんここらへんにやばそうなemacs22(emacs-currentを野良ビルドしたもの)でも、
とりあえず大丈夫みたい。firefox-binも無事動作。