junk words 〜2004年12月下旬〜

やる気のない日々の日報です。

仕事上の愚痴っぽいネタが多いのは、テンパっているせいかもしれません。


< 前の日記 | 次の日記 > | 最近5日間 >>

2004年12月21日(火)

tunneling via http proxy

とりあえず通った。 なぜか SSL 経由だと SSH の認証が通らないので、素の中継だけ。

_ 圧縮を指定しなかったせいか、非常にレスポンスが悪い。 AirH" と同じくらい。 向こう側の線が詰まっているから?


2004年12月22日(水)

[w3m] ミス

あほなミスをやってしまったので、今夜にでも async パッチは出し直します。

_ 修正済み。 w3m-cvs-1.942-async-4.diff.gz

[gc][cygwin] libtool

gc 6.3 の dll を cygwin-1.5.12 環境下でビルドしてみる。

_ Gerrit P. Haase - Re: undefined reference to `_WinMain@16にあったスクリプトを gc-6.3 にあわせてちょっと修正:

#! /bin/sh
echo "Copying libtool helper files ..."
autoupdate
rm -f ltmain.sh ltconfig
aclocal
libtoolize --force --copy --automake
ltfiles=/usr/autotool/devel/share
cp $ltfiles/aclocal/libtool.m4 .
cp $ltfiles/libtool/missing \
   $ltfiles/libtool/install-sh \
   $ltfiles/libtool/mkinstalldirs \
   .
autoheader
echo "Creating configure ..."
autoconf
rm -rf autom4te*.cache
exit 0
要するに、パッケージに含んでいる libtool のバージョンが古くて cygwin での dll 作成に対応していないので、/usr/autotool/devel/ 以下に入っている新しいバージョンをコピーしろ、ということ。

_ autoconf && ./configure して、できた Makefile の LDFLAGS に -no-undefined を足してやると dll まで作成された。

_ ふと、 http://www.hpl.hp.com/personal/Hans_Boehm/gc/を見ると、 gc6.4.tar.gzが。

_ むぅ、w3m を DLL に対してリンクすると cookie の有効期限を確認する途中で SEGV をくらうな。 なぜだ。

_ 字面上ではおかしくないので、他のところで First_cookie を書き換えてる?


2004年12月23日(木)

机の上が広くなった

飯山からProLite H540Sと保護シート、ビデオ入力アダプタが届く。

_ 意外と重いことにちょっと驚いた。

_ 早速CPD-17C1と置き換えてみると、机が広くなった! 奥行き半分だもんね。

_ デスクトップも広くなった! SXGA -> UXGA だもんね。

_ ざっと見で、ドット抜け、常時点灯はないみたい。

_ ただ、ピボット機構をロックできないらしく、角に手などがあたると、 パネルが左右に揺れるのがちょっと恐い。

_ あと、スピーカはおまけ。まあテレビのモニタには使えないことはない。

[yulan] 2.4.29-pre2

世間的には -pre3 らしいけど、 作業の区切りがついたのでリブート。

_ 先日のtmpfsまわりの設定変更もうまくいった。

_ vmware-config.plをやりなおし、ivtvのドライバをインストール、 tuner.oにエントリを追加してインストール。 いずれも正常動作を確認。

[w3m] どこの問題?

cygwin の上で w3m を触っていると、cygwin dll の問題と、 newlib の問題と、boehm gc の問題と、w3m の問題とがわけわかめ。

_ 昨日の dll 化した gc とリンクしたときの問題は、たぶん gc の方の問題。 .w3m/cookie を消してやると、最初のページを途中までレンダリングして SEGV を くらうから、 dll 化した場合のメモリプールの初期値の設定か、 メモリプールを拡大するときの閾値ないしは検出の問題だろう。

_ さて、どうやってデバッグするか。


2004年12月24日(金)

[w3m] テストが足りん

ダウンロードリストが動かないのを直したと思ったら、 今度はマウスが動かない。

_ マウス、アラームイベント、ウィンドウサイズの変更を直しました。


2004年12月25日(土)

[w3m][cygwin] 寝る

たぶんこれでよいはず: w3m-0.5.1-cvs-1.942-async-6.tar.bz2

2004年12月30日(木)

[w3m] やってしまった...

やっぱりテスト不足。つーか気付け>自分。

_ ブックマークを追加するときには、 w3mbookmark が w3m-control: BACK を 2回出力して 自身が出すブランクのバッファと登録パネルを消すようになっているのだけど、 BACK する起点が登録パネルになってしまって、ブックマークへ登録する ページのバッファが消えてしまい、ブランクのバッファが裏に残っていた。

_ とりあえず、イベントがあってもバッファのロードが終わっていなければ イベント処理を行わないようにしてみた。 w3m-cvs-1.942-async-7.diff.gz

_ cygwin のバイナリは後ほど。


2004年12月31日(金)

雪だ...

一昨日に続いて雪。 年内に雪を見るとは珍しい。

_ ちょっとそこまで買い物に出たら、雪まみれ。

_ つか、午前中のうちに動いておくべきだったね。

[zaurus][w3m] いろいろクロスコンパイル

w3m+asyncをzaurus向けにクロスコンパイルしてみようとしたら、 いろいろめんどくさ。

_ クロス開発環境は以前にインストールしてあって、 シャープオフィシャルのクロスツール、 gcc-cross-sa1100, glibc-arm, inux-headers-arm, binutils-cross-arm, qtopia-free を alien で rpm から deb に変換して /opt/ 以下に突っ込んでいる。 このあたりの手順は SL Zaurus クロス開発環境の構築 on Debian 3.0 (Woody)の記載をそのまま。

_ boehm gc: 次は Boehm GC ライブラリ。 これは簡単で、/opt/Qtopia/dev-arm-qpe.sh を source した上に、 こんなスクリプトを source する。 (ref: クロスコンパイル方法 - X/Qt Server Wiki)

# source this!
PREFIX=/opt/QtPalmtop
XPREFIX=/opt/QtPalmtop/X11R6

TOOL_PREFIX=/opt/Embedix/tools/bin

export CC=$TOOL_PREFIX/arm-linux-gcc
export CXX=$TOOL_PREFIX/arm-linux-g++
export LD=$TOOL_PREFIX/arm-linux-ld
export AR=$TOOL_PREFIX/arm-linux-ar
export AS=$TOOL_PREFIX/arm-linux-as
export RANLIB=$TOOL_PREFIX/arm-linux-ranlib
export STRIP=$TOOL_PREFIX/arm-linux-strip
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
export CC_FOR_BUILD=gcc
あとは ./configure --prefix=$PREFIX --host=arm-linux && make で OK。 ipkg の作り方がいまひとつわからないので、 Linuxサウルス/ipkg-buildを見て、ipkg-deconstract で libgc-6.3alpha2_arm.ipk をバラして、 CONTROL/control を書換え、opt/QtPalmtop/lib/libgc.so.1.0.2 を入れ替えて ipkg-build でパッケージにする。 libgc_6.4-1_arm.ipk

_ zlib: 次はopensslに行こうかと思って、ソースを展開してINSTALLを見たら、 zlib圧縮に対応するオプションがあったので、先にzlibをビルドすることに。 Debianのミラーから持ってきたzlib_1.2.2.orig.tar.gzを展開して、 上のスクリプトをsourceした環境で ./configure --shared --prefix=$PREFIX && make して、クロス環境内にインストールしておく。 libgcと同じく、zlib_1.1.4-2_arm.ipkをもとにしてパッケージ作成。 zlib_1.2.2-1_arm.ipk

_ openssl: ようやくopenssl。 OpenSSL-0.9.7b (SL-C700) Belphegor の巣窟 - Linux Zaurus(略) - opensslの作成手順を参考に、 ./config threads shared zlib-dynamic no-asm --prefix=/opt/QtPalmtop で作ったMakefileを以下のように修正:

diff -u Makefile.config Makefile
--- Makefile.config     2004-12-31 21:36:48.000000000 +0900
+++ Makefile    2004-12-31 21:38:02.000000000 +0900
@@ -59,9 +59,9 @@
 # equal 4.
 # PKCS1_CHECK - pkcs1 tests.
 
-CC= gcc
+CC= arm-linux-gcc
 #CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
-CFLAG= -fPIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall
+CFLAG= -fPIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -I/opt/QtPalmtop/include
 DEPFLAG= 
 PEX_LIBS= 
 EX_LIBS= -ldl
あとはmakeして、make INSTALL_PREFIX=$PREFIX install でクロス環境内にインストール。 openssl_0.9.7e_arm.ipk

_ w3m: CVS HEAD(1.942) に async-7パッチを適用。 単純に

./configure --prefix=$PREFIX --disable-image --with-gc=$PREFIX --with-ssl=$PREFIX --with-termlib=ncurses --with-migemo --host=arm-linux
では、途中で
checking whether setpgrp takes no argument... configure: error: cannot check setpgrp when cross compiling
と言われてしまうので、
ac_cv_func_getpgrp_void=yes ac_cv_func_setpgrp_void=yes ./configure --prefix=$PREFIX --disable-image --with-gc=$PREFIX --with-ssl=$PREFIX --with-termlib=ncurses --with-migemo --host=arm-linux
とする。 できた Makefile の LIBS に -lssl -lcrypto を足してやり、 makeすると、途中でmktableが実行できなくて止まるので、別のディレクトリで ./configure && make mktableして作ったmktableをコピーしてやる。 しばらくすると、今度は tgetent のシンボル解決に失敗するので、 [SL-Zaurus] sl の Cross Compileの準備の項の記載に従って、ncurses-4.2 から curses.h と unctrl.h を /opt/Embedix/tools/arm-linux/include/ へコピー、実機の libncurses.so を /opt/Embedix/tools/arm-linux/lib へコピー。 同じくw3m_0.4.2-1_arm.ipkをもとにパッケージを作成。 w3m_0.5.1.async-7_arm.ipk

_ notice: ipkg の作法がまだ分かっていないので、パーミッションとかおかしいかも しれません。 とりあえず手持ちのSL-C760ではhttpsなページの閲覧ができることは 確認しています。


文句はこちらへ:
WATANABE Katsuyuki