Just another Ruby porter,

〜2003年3月下旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2003-03-21 (Fri)

[Linux] GNU C Library (glibc) 2.3.2

いつものように

% tar xfv glibc-2.3.2.tar.bz2 --bzip2
% cd glibc-2.3.2
% tar xfv ../glibc-linuxthreads-2.3.2.tar.bz2 --bzip2
% mkdir linux; cd linux
% CC='gcc -pipe' CFLAGS=-Os ../configure \
  --prefix=/usr --enable-add-ons i586-pc-linux-gnu
% make
% make install localedata/install-locales \
  install_root=$HOME/glibc-2.3.2
% cd ~/glibc-2.3.2
% ln -s ../usr/share/zoneinfo/Japan etc/localtime
% tar cfv ~/glibc-2.3.2-bin.tar.bz2 --bzip2 *

でtarballを作り、メインマシンへ持ってきて

% sudo tar xfv glibc-2.3.2-bin.tar.bz2 --bzip2 -C /

してみると、なんとzshがbus errorになり強制的にlogoutしてしまった。 再度loginしてみるとzle関係が全滅。 ldconfigが中途半端のような感じなのでこれだけやり直してみたら復活。 無事Xも立ち上がった。ちょっとあせった。

w3mは

w3m-m17n: relocation error: /lib/libpthread.so.0: \
  symbol __libc_sigaction, version GLIBC_2.2 not defined \
  in file libc.so.6 with link time reference

とまただめだ。cvsupは大丈夫。

Rubyはというと

libruby-static.a(file.o): In function `lchmod_internal':
file.o(.text+0x14fd): warning: lchmod is not implemented and will always fail

と宣言されてしまった。

あ、--owner=root --group=rootを忘れてるなあ。これはかなりまずい。 そうか、これがまずくてlibpthreadもちゃんとインストールされてなかったのか。 libpthreadだけインストールし直したらw3mもちゃんと動いた。


2003-03-22 (Sat)

[Ruby] インストールガイド - Cygwin (バイナリ)

更新してみたが、 後半部分に関しては自分で書いた覚えが全くないのはどういうわけだろう? たぶん他の誰かが書き加えたんだろうなあ。


2003-03-23 (Sun)

[Ruby] version.h

やばいかもしれないが、これってどうすべきかなあ? みんなそれぞれ書き換え用のスクリプトを持ってるはずで、 自分だけが変更しても解決はしない。 とは言うもののversion.hを更新するのは90%ぐらいはおいらなので、 ほとんど解決してしまうのかもしれない。 というわけで syncver.rbを更新。

man dateすると

同じ日を、1 桁の日付の前に 0 を置かないように表示するには、標準には 
ない`-' 修正子を用いて 0 埋めを行わないようにすればよい。

  date -d 1-may '+%B %-d'

とあった。glibcならいけるんだけどなあ。

% ruby -e 'p Time.now.strftime("%m")' 
"03"
% ruby -e 'p Time.now.strftime("%-m")'
"3"

Time#strftimeではそういう仕様にするのもありだと思うけど、 Rubyで0を取り除く程度ならそれほど手間じゃないしね。

[FF X-2] 手詰り

どう考えてもラストな雰囲気だが、 一度飛空艇に戻ったら二度とそこへ行けなくなってしまった。 もう一度最初から始めてみる。


2003-03-24 (Mon)

[Linux] 10/100M

早速dhcpd eth0 eth1してみたが、なぜかeth1側がアクセスできない。 古いNICが悪いのかと思い、別のNICを使うとok。 総務に話を聞くと100Mしか使えないという。なんとそんなことになっていようとは。10年前のNICじゃだめなわけだよ。

[FF X-2] キューソネコカミ

ちょこまかと動き回るトーブリも運んでやったら「キューソネコカミ」というとんでもないものをもらった。こいつぁすげーぜ。


2003-03-25 (Tue)

[Diary] jarp.jin.gr.jp

というわけで、この日記は http://jarp.jin.gr.jp/diary/へ移動しました。古いほうからはredirectされます。


2003-03-26 (Wed)

[Linux] Emacs 21.3

やっと更新。

[Linux] 3c59x

どうも引っ越してからVNCの描画がいまいち遅い。dmesgしてみると

Probably a duplex mismatch.  See Documentation/networking/vortex.txt

が気になる。早速読んでみるとネゴシエーションがうまくいってないということか?

options 3c59x full_duplex=1

を/etc/modules.confに追加したらよさげだ。

In fact, please don't use this at all! You're better off getting
autonegotiation working properly.

と脅しがあるが気にしないことにする。


2003-03-27 (Thu)

[Ruby] ruby-zlib 0.6.0

更新。

[UNIX] file 4.01

file(1)とlibmagic(3)に分割されたから、拡張ライブラリが作りやすくなった。

Changes: This release has has been divided into the main file(1) program
and libmagic(3), a library that other programs can use directly to get
file information without needing to fork and exec file(1).

2003-03-28 (Fri)

[VIM] When editing a file, always jump to the last cursor position

Red Hat Linuxのvimはファイルを開くとなぜか最後に保存した時のカーソルの位置へ飛ぶんだけど、これってどうやってるんだろう? たぶんどこかのvimrcを読んでるはずで、:verしてみると

system vimrc file: "/usr/share/vim/vim61/macros/vimrc"

が怪しい。見てみるとコメントに書いてあった。

" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\   exe "normal g'\"" |
\ endif

なるほど。line("'"")で最後に保存したときの行番号がわかるわけだ。 一応他のエディタで変更されることを考慮して範囲を見てるわけだ。 実際のジャンプは'"じゃなくて`"すればカラムも元に戻る。


2003-03-29 (Sat)

[Ruby] linux-gnu問題

とりあえずconfigure時に環境変数で

ac_cv_build=i386-pc-linux
ac_cv_host=i386-pc-linux
ac_cv_target=i386-pc-linux

としてみたが、うっとうしい話だよね、やっぱ。

[FF X-2] 終了

レンの声が倖田來未というのは違和感ありありだ。

余計なことをしないと11時間程度で終了。 そういえば何も買ってないことに気づいた。

次は「強くてニューゲーム」だ。「キューソネコカミ」も2個目をゲット。


2003-03-30 (Sun)

[GNU] gawk 3.1.2

いつの間にか出ていたようだ。

[Ruby] nonstdio

mingw32で試してみるとFcntl::GETFLがないと言われる。 そうか。ないのか。 @readableと@writableが常にtrueでもとりあえずはよさそうなので、 nonstdio.rbのcase whenを

if defined? Fcntl::GETFL
  ...
end

で囲んでみると動いた。更にmodule File::Constantsを

class File
  module Constants

にすれば1.6でも動く。

といってもテストは

% ruby -rnonstdio-replace -pe '' file >/dev/null

ぐらいしかしてないんだけど。

djgppで試したら

./nonstdio.rb:37:in `fcntl': The fcntl() function is unimplemented \
  on this machine (NotImplementedError)

を喰らう。え?そうなんだっけとio.cを見るとMSDOSとhuman68kはだめということになってる。 確かにdjgppのソースを見てもGETFLは0を返すだけだ。面倒なのでcase whenを

begin
  ...
rescue NameError, NotImplementedError
end

で囲んでみる。動いた。

Ruby側でIO#fcntl(Fcntl::F_GETFL)しなくてもreadable/writableがわかればいいんだけど。


2003-03-31 (Mon)

[Ruby] fcntl

たぶん移植した当時はdjgppにfcntlはなかったんだろうなあ。 一部使えるようなのでfcntlを活かすべきか。 でもGETFLが必ず0というのも使えないな。

[Ruby] rakeでrubyをmake

bootstrapはどうするのかという疑問はとりあえず置いといて、 rubyをmakeするRakefileを用意するのは面白いかもしれない。

[Ruby] syck 0.08

YAML.rbのparserをCで書き換えたライブラリだが、 一応mingw32でもcygwinでも問題なくmakeできる。 RAAにはまだ登録されていない。

[Ruby] irbとreadline

PragProgRubyでreadlineが使えないって話をruby-talkで延々してるのはなぜだ?

[FF X-2] アルベド語辞書

全部発掘した。40回ほど掘りまくり。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!