〜2002年8月中旬〜
更新。ちょっと落ち着かないね。
screen上でTERM=kterm w3mってのも面倒になってきたので、 quick hack 。
ま、人それぞれだけど、ddじゃなければ
% ruby -e 'print "\0" * 9000' >zero.out % perl -e 'print "\0" x 9000' >zero.out
とするかな。
zshならsetopt rm_star_silentしてなければdefaultで
% rm * ~ zsh: sure you want to delete all the files in /tmp [yn]?となるから、それほど困らないと思うんですけど?
tcshを使っていた頃はmkdirするたびに
% touch ! % chmod 0 !
としていた。なぜ!なのかはman asciiするとわかる。これはfjで知った。
% rm * rm: remove write-protected file `!'?
GNU fileutilsのrmなら-iがどこにあってもいいので
% touch ./-i
という手もある。
そうそう、今はtcshにもrmstarがある。bashにはなさそうだ。
でかいよねえ。ついでにIE6も入れてみる。が、どうせ使わない。
DO_C99_MATH, HAS_SHADOW, INCLUDE_IPV6をtrueに。 あれ?今までとコマンド名が違うなあ。i386-uclibc-がprefixされてる。 /usr/i386-linux-uclibc/bin/には両方が混在してしまった。古いほうは消そう。
% sudo rm /usr/i386-linux-uclibc/bin/*(mh+1)
今インストールしたわけで、 1時間以上前のファイルは以前にインストールしたものだから消していい。
Clip-Onの時計が5秒ほど遅れてる。 教育テレビの正午の時報で毎日補正されるはずなのに。 で、番組表を見たら11:45から高校野球の中継になってるじゃん。 もう一週間もそんな状態だからこれだけ遅れたのか。 嫌いな理由がまた一つ増えた。
20020814 : Release 4.0.6 This is a maintenance release of the stable 4.0 series. The majority of changes are bug fixes or minor enhancements to the function based completion system.
結局4.0.5は欠番にしたのかな。
結局 GNU cpioでtarballを作っていた のが原因でsetup.exeでインストールできなかったらしい。 何か微妙に違うのか?
更新。
mingw32版Ruby-SQLiteのリクエストが来た。 まずは SQLite をmakeしてみるか。
C++のほうはバイナリ互換がなくなるとあるが、 どのくらい影響するのかよくわからん。
% mkdir linux; cd linux % CFLAGS=-Os CXXFLAGS=-Os ../configure --enable-languages=c,c++ \ --with-system-zlib --enable-sjlj-exceptions --enable-threads \ --disable-version-specific-runtime-libs --disable-nls \ --without-included-gettext --without-catgets % make BOOT_CFLAGS=-Os STAGE1_CFLAGS=-Os CFLAGS=-Os \ DEBUG_FLAGS= CONFIG_CXXFLAGS='-ffunction-sections -fdata-sections' \ bootstrap
会社のLinux boxが最近なぜかレジスタダンプが多い。 時期的にはhdparmのためにDMAを使えるようにreconfigしたkernelからのような気がする。 GCC 3.1でkernelをmakeしたせいなんだろうか? もう一度同じkernelでmakeするのも何だし、 ついでだから2.4.19-pre3-lkpc-2から2.4.19へ上げて様子を見ることにした。
TCLとreadlineがすごく邪魔。 Makefile.inを見ても必須というわけじゃなさそうだし、 面倒だからconfigure.acから削除してautoconfしなおす。 Makefile.inからも削除。
% config_TARGET_EXEEXT=.exe \ config_TARGET_CC='i686-pc-cygwin-gcc -mno-cygwin' \ config_TARGET_CFLAGS=-Os \ config_BUILD_CC=gcc \ config_BUILD_CFLAGS=-Os \ ../configure \ --prefix=/usr/local/mingw \ --target=i386-mingw32 \ --host=i686-pc-cygwin \ --build=i586-pc-linux-gnu
なかなかすごいことになったな。
うーむ。どうしてソースを こんな形 で公開するんだろう。 ここ に置いとこう。extconf.rbも兼ねているので
% ruby sqlite.c
も可能なようにしてみた。
interdiffも-p1と指定しないといけないらしいってことに気づく。
2.3.7が出てたのでinetdをやめることにした。
checking linux/time.h usability... no checking linux/time.h presence... yes configure: WARNING: linux/time.h: present but cannot be compiled configure: WARNING: linux/time.h: check for missing prerequisite headers? configure: WARNING: linux/time.h: proceeding with the preprocessor's result
となるが、
#ifndef FD_SET #ifdef HAVE_LINUX_TIME_H #include <linux/time.h> #endif #endif
なので問題ないようだ。
未確認ですが、それはたぶんdllwrapに--target=mingw32のような指定が足りないからだと思います。 これを指定しないとリンクされるライブラリが別のものというかcygwinのライブラリになります。
それだと今度は-mno-cygwinが足りません。
% dllwrap -mno-cygwin --target i386-mingw32 dlltest.o -o dlltest.dll dllwrap: no export definition file provided. Creating one, but that may not be what you want
2つ必要なのはかなり変ですよね。
Ruby DLLや拡張ライブラリを作るときのMakefileも参考にしてください。 configure.inで
--driver-name="${CC}"
ではなく
--driver-name=${CC}
となっているのはそのため。
更新。