Avira が startw をウィルスとして誤判定していた問題は、1日経たずに対応された。exsel をどうするかが問題。
Avast! 7.0 に更新したらトラブル発生。startw やいくつかのプログラムが起動しなくなってしまった。ウィルスが(誤)検知された訳でもなく、単に「アプリケーション エラー: アプリケーションを正しく起動できませんでした (0xc0000005)。」とか「startw.exe - エントリ ポイントが見つかりません: プロシージャ エントリ ポイント RNEL32.dll がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。」とだけ表示されるのがたちが悪い。特に二つ目のエラーメッセージはどう見てもおかしい。RNEL32.dll などという関数を使っているわけがない。Avast! が KERNEL32.dll に介入している部分でバグっているとしか思えない。
加えて、自動サンドボックスに引っかかる率も上がったうえに、引っかかった場合は初回は必ずサンドボックスの中で実行されるため、明らかに正常だと分かっているプログラムの実行手順が増えてしまい、実に鬱陶しい。
あまりに嫌気がさしたので、今回 Avast! 7.0 に更新してしまったマシンは、Avast! をアンインストールして他のアンチウィルスソフトを入れてみることにした。とりあえず Avira を入れてしばらく様子を見てみることにした。Avast! 6.0 が入っているマシンは当分このまま使うことにする。
ということで Avira を入れてみたが、誤判定が多い。startw や exsel がウィルスと判定されてしまった。とりあえず startw については、False Positive として検体を提出した。exsel は実行する対象に応じて、実行ファイルを直接書き換えているので、どうするか悩む。
社内の proxy サーバーを通して、Cygwin をインストール/アップデートしようとすると、proxy サーバーのキャッシュが古くて最新のパッケージがインストールできなかったり、ひどいときには setup.bz2 の署名が一致せずに全くインストールできないことがあった。
以下のコマンドで、setup.bz2 と setup.bz2.sig をダウンロードして、proxy サーバーのキャッシュを更新すればよいことが分かった。(jaist のミラーからダウンロードする場合)
$ wget --no-cache http://ftp.jaist.ac.jp/pub/cygwin//setup.bz2 $ wget --no-cache http://ftp.jaist.ac.jp/pub/cygwin//setup.bz2.sig
//setup.bz2 のように / が二重になっているところがポイント。どうやら Cygwin の setup.exe は、このような URL でアクセスしているらしい。
VLC media player 2.0.0 がリリースされていたので、早速インストールしてみた。
とりあえず気がついた点は以下のようなところ。
いくつか VLC 1.1.x から悪くなっている点はあるが、おおむね満足。
「VLC - SkyDrive」で、VLC 2.0 用の ARIB 字幕プラグインが公開されている。aribsub-win32-vlc-2.0.7z が Windows 用のファイルである。これを使うと以下のような点が改善される。
VLC 2.0 を使うなら、このプラグインは入れるべきである。
なお、一部のファイルで、メディア情報では字幕ストリームが表示されているがメニューには「ARIB subtitles」が表示されないという現象が発生している。
Cygwin を更新したらいろいろトラブルが発生。
まずは、gitk が 1.7.5.1-1 から 1.7.9-1 に更新されたのだが、新しい gitk は Tcl/Tk 8.5 に依存していて、Tcl/Tk 8.5 は X サーバーが必須になっていた。正直、gitk を使うためのだけにわざわざ X サーバーをインストールしたくない。X サーバーが不要な、古い Tcl/Tk 8.4 を無理矢理インストールすることにした。以下のコマンドで、上書き解凍。
$ tar xvf tcltk-20080420-1.tar.bz2 -C /
しかし、この状態で gitk を実行したところ、X サーバーを要求された。/bin/wish.exe は、wish84.exe への symlink になっているのだが、/bin/wish は wish8.5.exe への symlink になっており、/bin/wish.exe よりも /bin/wish が優先されたのが原因だった。/bin/wish を削除することにした。
次に、LANG 環境変数の値が、今までの C.UTF-8 から ja_JP.UTF-8 に変わってしまっていた。/etc/profile.d/lang.sh で設定されるようになったようだ。Cygwin で LANG=ja_JP.UTF-8 に設定しても、あまりメリットがあるようには思えないが、とりあえずしばらくはこのまま使ってみることにする。。
最後は Cygwin の更新とは直接関係ないが、Cygwin の起動を速くするために bash_completion を最適化したら、使用しているコマンドまで未使用と判定されてしまっているものがあることに気づいた。判定条件を少し緩めることにした。(check_unused_bash_completion.sh)
Cygwin を新規インストールして、ssh を使おうとしたところ、.ssh ディレクトリがホームディレクトリではなくルートディレクトリに作成されてしまう現象が発生した。
ssh-user-config を実行してみたところ、次のようなメッセージが表示された。
$ ssh-user-config *** ERROR: There is no home directory set for you in /etc/passwd. *** ERROR: Setting $HOME is not sufficient!
/etc/passwd を見たところ、確かにホームディレクトリが設定されていなかった。エディタで /etc/passwd を編集して、ホームディレクトリを設定したところ、ssh が正しく動くようになった。
なお、「Cygwin 環境の構築:環境設定」 によると、以下のコマンドで /etc/{passwd,group} を作成できるようだ。
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group
ドメインに参加しているマシンであれば、-d オプションで、ドメインのユーザ・グループ情報が利用されるとのことなので、-d を指定して実行してみたが、全然応答が返ってこない。
VMware Player の DHCP 設定を変更して使っていたのだが、設定が元に戻ってしまっていることに気付いた。VMware Player をアップデートしたときに、設定が初期化されてしまったようだ。
次のファイルを編集することで、IP アドレスを固定化できる。
C:\Documents and Settings\All Users\Application Data\VMware\vmnetdhcp.conf (XP) C:\ProgramData\VMware\vmnetdhcp.conf (Vista 以降)
例えば、以下のような内容を追記すればよい。
host ubuntu { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.80.127; }
vmnetdhcp.conf 編集後、VMware DHCP Service を再起動すれば変更が有効になる。
Windows で Android SDK のアップデートをすると失敗するのだが、どうするのが正しい方法なのだろうか。
C:\Program Files\Android\android-sdk-windows\SDK Manager.exe を起動し、Android SDK Tools を Rev.15 から Rev.16 に更新しようとしたのだが、tools ディレクトリを移動できないと言われて失敗してしまう。
SDK Manager を終了してから、C:\Program Files\Android\android-sdk-windows\temp\ を見ると、tools_r16-windows.zip というファイルがあったので、それを C:\Program Files\Android\android-sdk-windows\ に上書き解凍したところ、Android SDK Tools を更新できたが、こんなやり方しかないのだろうか。
Ruby に、戻り読みの中で \b が使えないとのバグ報告が来ている。(ruby-trunk - Bug #5961: regular expression positive look-behind - Ruby Issue Tracking System)
鬼車 では、regcomp.c の中で、ALLOWED_ANCHOR_IN_LB, ALLOWED_ANCHOR_IN_LB_NOT という定数を定義しており、これで戻り読みの中で使用可能なアンカーを規定している。確かに 鬼車 5.9.2 では、戻り読みの中では \b は使えない設定になっている。Perl 5.14 の動作を確認したところ、戻り読みの中でも \b, \B などが使えるようだ。鬼車でも使えるようにした方が良いのかもしれない。
Haskell でも勉強してみようかと思い、少し調べているところ。