〜2004年1月中旬〜
1日遊ぶ。テレビをリアルタイムで録画するなら、 品質ベースVBR, 640x480, キーフレーム間隔4, ビデオ品質70あたりで十分。 Windows Meida Playerは1.4, 2倍速で再生できて便利だ。
DivXと大して変わらないし、WME9でもいいのかもしれない。 それにしても自分でインストールした覚えがないのはどうしたことか?
例によってmultibyte対応をoff。
% ac_cv_header_wchar_h=no ac_cv_func_mbrtowc=no \ CC='/usr/i386-linux-uclibc/usr/bin/gcc -static' \ CFLAGS=-Os CXXFLAGS=-Os ./configure \ --disable-dependency-tracking --disable-nls --prefix=/usr % make all check % sudo make install
今頃気づいて更新。
1. minirubyではsyck.soをrequireできない(Windows等) 2. rubyを動かすにはlibuby.soの場所を環境変数で指定する必要がある (rubytest.rbを参照) 3. インストールしてからrubyを起動するのは、DESTDIRを考えると結局は2 に帰着する 4. というわけで、一時的に拡張ライブラリをどこかにインストールしてか らrdocを起動する案となる
test/runner.rbもインストールせずに実行できるという布石でもあるわけだが。
また忘れてしまうので書いとこう。
% echo 'all:' >Makefile % nmake % bmake MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Fatal: 'all' does not exist - don't know how to make it % echo 'all: Makefile' >Makefile % bmake MAKE Version 5.2 Copyright (c) 1987, 2000 Borland % printf 'all:\n\trem\n' >Makefile % bmake MAKE Version 5.2 Copyright (c) 1987, 2000 Borland rem
のようにBorland makeは依存するファイルかアクションを書かないとエラーになってしまう。 これがext/の下でdummyのMakefileを作るときにMakefileが依存の対象になってる理由。 Makefileじゃなくてもいいんだけど、必ず存在するファイルとしては確実。
Windowsからext2/ext3のファイルシステムにアクセスするツール。 Sofmapで1380円だったので買ってみた。 ここ2週間ほど山積みのままであまり売れてない様子なのが気になった。 定価が9800円だもんなあ。逆に安すぎて躊躇する。
まずはVMware上のWindowsで試す。 新たに1GBほどのディスクを追加して、 LinuxDriveでext3を指定してフォーマットしてみる。 それをマウントするとlost+foundが存在してる。 mkdir tmpもokだ。でもこれって本当にext3なのか? どうやって確認しよう。 そうだ。KNOPPIX 3.3をそのVMware上で起動してマウントすればわかるな。 そもそもKNOPPIXがVMware上で動くかどうかも疑問だが、やってみよう。 あっさりKDEまでというか音も出てる。 マウントしてみるとext3になってた。 使えてるようだ。いやーやっぱKNOPPIXすばらしいよ(ってそっちじゃない。
あとで読もう。なんか「ビット・チャネル」という文字が見えるが BitChannelとは関係ない(たぶん)。
大宮に新しくできたビックカメラに寄ったついでに、 玄人志向のリムーバブルHDDケースを買ってみた。1980円。 古いマシンに13GB, 20GB, 40GBのHDDがあったんだけど、 どうしようか悩んでいたんだよね。 これで簡単に交換できる。 あ、底にファンもついてる。意外とやるじゃん。
90000を越えた。80000から5ヶ月。
更新。Rubyも問題なし。
なぜかCygwinで
% RUBYLIB=/tmp:/lib ./ruby -ve 'p $:[0]' ruby 1.9.0 (2004-01-17) [i386-cygwin] "/tmp:/lib"
のように分割されないことに気づく。調査した結果、defines.hで
#ifdef __CYGWIN__ #undef _WIN32 #endif
となってるのはいいが、 DOSISHマクロを定義する後にあるのがまずいことがわかった。 というわけで、前に移動。
Cygwinで
% ruby -e 'p $:[0]' "./lib/ruby/site_ruby/1.9"
のようになってしまうとなひさんから報告があった。 これはruby.cでGetModuleFileName()した結果をtanslate_char()で変換してないからで、 昨日の変更の副作用。DOSISHと同じようにCygwinも変換するように変更。
heliumのSpamAssassinを更新。
9通来た。なぜBEAGLEじゃないのだ?
- Implement mknod. (Christopher Faylor)
ってのはなんか怪しいな。
- Implement getprogname, setprogname. (Corinna Vinschen)
これで、 Rubyの例の問題は解決するかな?
- Implement flock. (Nicholas Wourms)
おぉ。flockも実装されたか。
やっとインストール。
% ./configure.gnu -Dcc=gcc -Dccflags=-DDEBUGGING % make -j2 all test install make -j2 all test install 585.54s user 35.43s system 118% cpu 8:44.50 total
Cygwin 1.5.6の環境でMinGW版rubyの検証。 --with-gcc='ccache gcc -mno-cygwin'を指定してのconfigureは問題なし。 でもmakeするとext/cursesの-ltinfoのチェックで止まってしまう。 どうもhave_headerは大丈夫なんだけど、have_libraryがだめみたいだ。 うーむ。ccacheを外せば問題ないんだよなあ。
gdbでattach pidしてみると getprogname()を呼んだあたりで止まってることはわかったんだけど、 それ以上はよくわからず。
で試しにrbconfig.rbを書き換えて
ccache strace -o strace.log gcc -mno-cygwin
のようにstraceで様子を見てみようと思ったら、進んでしまったのだよ、これが。 しかもstraceは常に真を返すからチェックにならない。 それにしてもccacheってこんな感じでもちゃんと動くんだな。