2003年06月27日

_ [diary] ばいと

今日は久しぶりに朝一番から夜までみっちりバイトしてきました。一日中某ゲームをプレイしていただけでしたが(爆)しかし、やはり分岐命令無視のデバッグオプションがあると確認には便利ですな〜。素晴らしい。ただ、話の筋は追えなくなりますけどね(笑)もっとも、PC版でクリア済みのゲームなので全く問題もなく。

_ [diary] コカコーラ・バニラ

/.Jでも噂だったバニラ味のコーラを昼休みのコンビニで見つけたので思わず買ってしまいました。飲んでみました。……甘ぃ(涙)口に広がりまくるバニラのフレーバー・・・

一口飲むだけなら、バニラアイスでも食べた気分なのですが、流石に500ml飲むのは厳しかったです。それだけでお腹いっぱいになってしまいました。二度と買うことはないでしょう(笑)

_ [recruit] N社2次面接へ

昼頃にN社から電話があり、2次面接へ案内して頂けました。2週間後とかなのですが、もっと早くはならないものなのでしょうか……。

_ [misc] マルチスレッドシナリオスクリプト

仕事が終わったあとにちらっと他作品のスクリプトがどんなだったかヒアリングしてみました。吹き出しが出る一風変わったPCゲームではテキストを特別扱いしない、完全にC言語風なスクリプト言語で(シナリオ編集するの大変そう……)、一部マルチスレッドな機能が含まれていました。クラスのインスタンスを生成したのちに、インスタンスへメッセージを投げると、メッセージに対応したメソッドが別スレッドでキックされる、という仕様のようです。同期の方法までは確認しませんでしたが、他のスレッドでやるのが画面効果などであれば、殺したいときに殺せれば、他に同期も取る必要がありませんし、キックできればそれで十分なのかもしれません。演出を同期させたい場合は wait 命令とかで時間軸に乗せて同期を取るでしょうしね。参考になりました。

ところで、作品の具体名も具体的な何かも言ってないので、守秘義務には引っかからないですよね、たぶん……。

_ [zaurus:SL-C760] OpenSSL-0.9.7b

そもそも wanderlust で ssl を使いたいとか fetchmail を ssl 対応でコンパイルしたいという所から話は始まった OpenSSL-0.9.7b です。

クロスコンパイルの話はこちらに載っていますが、僕はクロスコンパイル用の Linux マシンを手元に持っていないため、セルフコンパイルでチャレンジしました。

いろいろド嵌りまくっていたのですけど、とりあえずは dev_img-1.3 を使う時には、libc.so などを手動でリンク張りするのではなく、素直に compiler_setup.sh -r [mntdir] を叩け、ということで(汗)PATH の設定は必要ですけどね。

あと、ln -s /lib/libdl.so.2 /usr/lib/libdl.so が張り忘れられているので忘れずに張っておきましょう……。dlopen がリンクできない理由が分からなくていくら回り道したことか……。まぁ、このトラブル対応のお陰で shared library の詳細が勉強できたので良かったんですが。コンパイル時には linker name で探しに行くので、その symbolic link は手動で張らないといけないんですね。

また、素直に make install したら /usr/local/ssl/man 以下にすごい量の man がインストールされたので慌てて Makefile の install-doc を消しました。容量的には数M程度ですけどね。あとは /usr/local/ssl/{bin, lib} 以下のファイルを適当に ln -s しておしまいです。

あ、書き忘れていましたが、./config no-idea no-krb5 no-rc4 no-bf no-cast no-dh no-mdc2 no-rc2 no-rc5 no-engine no-hw shared でやってます。no-engine とか no-hw とか何やっているかよく分かってないんですが……。とりあえず不要なものはみんな no- してしまって容量を減らそうと努力してみました(^^;

ちなみに、fetchmail を make するのに必要な flex & bison の ipk は こちらが便利です。本体はこちら。僕はさすがに全部 vine に入れ替えようとまでは思いませんが……。

それと、wanderlust で %inbox:username@mail.example.net! 形式を使おうとすると、ssl.el と openssl コマンドが必要です。まず、wanderlust のパッケージから ssl.el を探して持ってくること。そして、openssl コマンドは -quiet オプションが付いていても認証関係で標準エラー出力にメッセージを吐く(そしてそれを ssl.el が拾ってしまう)ので、僕は openssl コマンドの標準エラー出力を /dev/null に吐き出す wrapper を書きました。

かくして、stone を使わなくても fetchmail でも wanderlust でも IMAP/SSL のメールを読むことに成功しました。素晴らしい。

なお、ipk の作り方が分からないため ssl 有効版 fetchmail_6.2.2-1_arm.ipk は作れませんのであしからず(^^;