たださんの名前は確かにウケが取れそう……。 「ただただ」のあたりが。御両親は何を思って付けたのでしょう。
すみません……「ず」だと思ってました。 そうかあ。言われてみれば「積む」の積なんだから「つ」なんですね。
そいえばぼくの名前にも読みでは問題がありました。 峰郎と漢字で書くと必ず「みねお」と読まれてしまうんです。 うちの親も、 もうちょっと読みやすい (ついでに発音しやすい) 名前にしてくれればいいのにな。
いいかげん ncurses が古すぎるので 3.0 を 5.3 にアップデート。 あんまし深く考えずに
~/s/src/ncurses-5.3 % CFLAGS='-pipe -O2' ./configure --prefix=/usr --with-shared --with-normal --with-debug --with-libtool &> log.conf && make &> log.make && echo OK
としてみた。んで
~/s/src/ncurses-5.3 % make DESTDIR=~/tmp/ncurses install
でインストールイメージを確認して、インストール、テスト。大丈夫そうだ。
しかし下線パラパラ現象は収まらない。端末の桁が狭いと特に酷い。 また rxvt より kterm のほうが状態が悪い。 ncurses を上げたら直るかと思ったんだが、外れたか。困った。
(14:27)
fnmatch.h なんてヘッダファイルを勝手にインストールするんじゃない! busybox がコンパイル通らないと思ったらこんなことかよ。 強制的に ap-fnmatch.h に改名の刑。
(14:28)
なんで busybox なんてコンパイルしだしたかと言えばこれのためだ。 思うところあって突然 glibc をコンパイルすることにした。 現在の環境は glibc 2.1.2 なので make install だけでいいらしい。
まず、make が 3.78.1 だったのでこれを 3.80 にアップデートしておく。 binutils は 2.13 なので大丈夫だろう。gcc は 2.95.3 を使用。 んでコンパイルだ。このへんは危険は全くない。
~/s/obj/glibc-2.2.5 % CC='gcc -pipe' CFLAGS=-O2 ~/s/src/glibc-2.2.5/configure --prefix=/usr --enable-add-ons --enable-kernel=2.2.14 &> log.conf ~/s/obj/glibc-2.2.5 % vi Makefile # PARALLELMFLAGS = -j 4 にしてみる ~/s/obj/glibc-2.2.5 % make &> log.make ~/s/obj/glibc-2.2.5 % make check
P3 866MHz、256MB で 20 分くらい。やっぱ HDD が速いと早いな。 make check は optional とか書いてあるけど、必ずやっとくべきでしょう。
こっからが勝負だ。 わたなべさんの日記 を参考にしてまずは chroot で試す。
~/s/obj/glibc-2.2.5 % make install_root=$HOME/tmp/glibc install localedata/install-locales ~/s/obj/glibc-2.2.5 % cd ~/tmp/glibc ~/tmp/glibc % ls etc lib sbin usr ~/tmp/glibc % mkdir bin ~/tmp/glibc % cp /bin/bash bin/bash ~/tmp/glibc % sudo chroot ~/tmp/glibc /bin/bash bash-2.05# bash-2.05# ls bash: ls: command not found bash-2.05# echo * bin etc lib sbin usr
大丈夫っぽい。
失敗するとまず間違いなく復活できないので、重要データはバックアップしておく。 現在起動中のプロセスは元のライブラリを使い続けるので動作可能だが、 新しいプロセスは新しい libc で動くので失敗すると何もできない。 su もできなくなるから予備の rxvt で su しておく。 またもちろんコマンド類もダイナミックリンクしてるのは全滅するから スタティックリンクしておかないとまずい。ここで busybox が役に立つわけだ。 当然スタティックにコンパイルしないとだめね。
% ldd /bin/busybox statically linked (ELF)
ここまでやったら make install ゴー!
~/s/obj/glibc-2.2.5 % su ~/s/obj/glibc-2.2.5 # LANGUAGE=C LC_ALL=C make install localedata/install-locales
次がいつまでたっても書き込まれなかったら失敗したと思ってください。まる。
(14:47)
zsh があぼーん。 gcc をはじめとしてコンパイルツールが生きていてくれたので命拾いしたな。 即座に zsh をリコンパイルする。あ、sudo も大丈夫だ。
また、わたなべさんの日記にあったのと同じく man と cat が SEGV する。 これもリコンパイルしないとだめそうだ。
w3m は大丈夫だなあ。Boehm GC のバージョンの違いだろうか。
このメールを書いてるのが Emacs なのでこれも OK。 でもってこのメールが送れたら imget == Perl も OK。
(15:36)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
なにも考えていなかったらしいです >名前
天然ですな。
夜中にひとりで藁ってしまった>ガスコンロ。
ちなみに、私の父親の名前も「ただし」だったりします(実話)
TERM=vt100 とかして状況が改善されるなら terminfo/termcap entry が
おかしいということで納得してみるとか << ちっとも解決してません.