Just another Ruby porter,

〜2001年8月上旬〜


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

2001-08-01 (Wed)

CONFIG_REISERFS_CHECK

linux-users MLで話題になってが、うちのもyになってた。 それほど遅くなってない気もする。

pocketruby

importされた。が、やっぱ*.exeだの*.dllはやめて欲しい。 と思ったら消された。

[FFX] 武器と防具

これ以上持てないから捨てろと言われてしまった。 捨てるくらいなら売りたいんだが、公司はないし、奴はいないし、先は長そうだし、引 き返すのもかなりありそうだし、困りましたな。


2001-08-02 (Thu)

Bochs

ここに移動してたのか。 Win32版を試したらdlxlinuxてのが入ってて簡単に遊べるね。 でも時計がやたらと早く進むのはなぜ? bogomips値もそのせいか0.82とすごく小さい。

[FFX] ワープ

結局戻ったら、ワープポイントを発見。 さらに消化してないイベントまであった。戻って正解だ。


2001-08-03 (Fri)

.mgpファイルをPDFファイルに変換

MagicPointでプレゼンした資料をWebに載せてくれと言われた。 大した量でもないのでHTMLに手で変換しようと思ったが、 PowerPointじゃないならPDFでもいいと言う。 ふーん、じゃ、PDFに変換してやろう。

すぐに思いつくのはmgp2psしてps2pdfだ。 でもPSファイルはgvでlandscapeにすればいいんだけど、 ps2pdfで変換したPDFファイルはAcrobat Readerでlandscape表示できない *1

googleでps2pdf landscapeをキーに検索するとやっぱ似たような悩みの人がいる。 それをまとめると

% mgp2ps foo.mgp | pstops "0R(0,21cm)" > tmp.ps
% ps2pdf -g8420x5950 tmp.ps foo.pdf

これでAcrobat Readerでちゃんと見れるPDFファイルができた。 ps2pdfは標準入力から読めないのかあ。 シェルスクリプトだから何とでもなるけど。

pstopsはman pstopsすると

PSUtils Release 1 Patchlevel 17

に含まれているらしい。特に意識して入れた覚えもないが、 PlamoだとRequiredなのかな。


*1: できるんならだれか教えて。

2001-08-04 (Sat)

glibc 2.2.3

xmmsが動かないのはどうもpthreadがらみのような気がして、 glibc 2.2.3を自分でmakeすることにした。 makeかけたのは寝る前だったんだが起きてもまだやってた。 結局これだけ時間がかかった。

make  32116.38s user 4529.07s system 95% cpu 10:41:39.70 total

すごいね。GCC 3.0で一応最後まで通ったけど、立ち上がるかどうか不安だ。 不安なのでmake installはしてない。って意味ないよ、それじゃ。

Ogg Vorbis

音質はMP3よりいいというので今頃になって試す。 「ザ☆ピ〜ス!」だと

% cdda2wav -Icooked_ioctl -q -D/dev/hdd -t 1 - | oggenc -o peace01.ogg
Opening with wav module: WAV file reader
Encoding "peace01.ogg" [ 01.3%] [ 16m22s remaining] /

と出た。1曲16分かあ。見てるとほとんどCD-ROMをアクセスしてない。

Done encoding file "peace01.ogg"

        File length:  5m 17.0s
        Elapsed time: 17m 28.6s
        Rate:         0.3030
        Average bitrate: 127.3 kb/s

0.3倍速だ。今日はCPUパワーをより実感する日となった。


2001-08-05 (Sun)

Ogg Vorbis

% ogg123 peace01.ogg

してみると、全然音が出ない。なぜだ?

% man ogg123
No manual entry for ogg123

えっ、ないの?man oggencはちゃんと出るのに。ソースにはちゃんとあるじゃん。 よくわからんが

% cd ogg123
% make install-man mandir=/usr/local/man

しとく。man ogg123してみると

-d device, --device device
       Specify output device.  See DEVICES section  for  a
       list  of  devices.   Any  number  of devices may be
       specified.

が怪しい。DEVICESを見るとnull, oss, alsa等がある。 うちの場合はalsaが入ってるのでalsaかossが使えるはず。

% ogg123 -d alsa peace01.ogg

でやっと音がでた。ossでも出る。 毎回指定するのもなんだから~/.ogg123rcに

default_device=oss

を指定。ossなのは特に意味はないが、 ほんとにkernelのossを使うこともあるかもしれないので。

肝心の音質のほうはというと全然わからない。 てゆか1000円のスピーカに期待しちゃいかんよ。

glibc 2.2.3

不安だと書きながら無謀にもmake installしてみたわけだが、案の定失敗だ。 /lib/libc.so.6のsymlinkを書き換えた後はもうなんにも動かない状態に。

_ リセット:

Linuxにはほとんどstaticにlinkされてるものがないから、 こうなるとあきらめてrebootするしかない。 が、umountもできなければrebootコマンドも動かないからリセットするしかない。 が、リセットしたところで、実は何も状況は変わらない。 以前のglibcに戻さないといけないわけだ。

_ 旧環境:

実は以前の環境も別のパーティションに残してあるので、 こっちからbootすることでアクセス可能だ。 だから、不安だと書きながら暴挙に出たわけだが。 で、こっちからprefixを/mnt/usrにしてインストールしてみたらどうだろうと考えた。 これが大失敗で、prefixだけじゃなくてslibとかも指定しないといけない仕組みになっていて、旧環境も/libを上書きしちまった。いや実に困ったね。

_ 旧環境の復旧:

インストールフロッピーで立ち上げて、 CD-ROMにあるglibc2.tgzを展開すればいいと簡単に考えてたら、 ReiserFSにしちゃったからそのパーティションにはアクセスできない。 というわけでまずは旧環境のほうを復活させて、 その後で今使ってる新環境を復旧するという二段階で攻めた。

手順としては

1. NTでPlamo用のインストールフロッピーを作る。
2. これで立ち上げ、旧環境の/dev/hdcのほうをmountする。
   $ mount /dev/hdc5 /mnt
   $ mount /dev/hdc6 /mnt/usr
3. CD-ROMをmount。
   $ mount -r /dev/hdd /cdrom
4. 必要なものを展開。
   $ cd /mnt
   $ tar xfvz /cdrom/plamo/a1/glibc2.tgz
   $ sh install/doinst.sh
   $ tar xfvz /cdrom/plamo/d1/libc.tgz
   $ sh install/doinst.sh
   $ tar xfvz /cdrom/plamo/a1/ldso.tgz
   $ sh install/doinst.sh

てな感じ。これで旧環境の復旧完。

_ 旧環境の再破壊:

次に新環境のほうは旧環境を立ち上げてPlamo 2.2をインストール。 ここで、欲を出してinstallpkgでいいじゃんとか思ったのが大きな間違い。 ldso.tgzのinstall/doinst.shは/sbin/ldconfigが存在するときはそれを実行するように書かれている。 ldconfigというやつは余計なお節介というか最新のlibraryがあると勝手にsymlinkまで更新してしまうようだ。 /lib/*-2.2.3.soを消してなかったので、旧環境がまた同じように破壊された。 がーん。

_ 新環境の復旧:

もう一度旧環境を復旧させ、速攻で/lib/*-2.2.3.soを消す。 新環境のほうも消しておく。 あとは旧環境と同じ手順で新環境の復旧させた。 ldso.tgzのdoinst.shを見ると大して意味のあることをやってるわけじゃないので実行しないことにした。 ちなみにインストールフロッピーで立ち上げたときは/sbin/ldconfigは存在しないので問題ない。

_ GCC 3.0:

なぜ動かないのかいまいちよくわからんのだが、やっぱGCC 3.0のせい? なにしろmakeに10時間かかるからおいそれと実験できないし。うーむ。 あ、

% make check

を省略しているのがそもそもの間違いのような気がする。

rescue disk

ReiserFS用のrescue diskを作るべきだな。 あ、2.4.xのkernelを採用してるdistroのインストールフロッピーでもいいか。

[FFX] 休み

んなことばかりしてたのでFFXは3日もやってない。

似て蝶

松嶋菜々子とBoA。


2001-08-06 (Mon)

mpg123のマニュアル

JMにはすでにあったのか。

-b size, --buffer size
  オーディオの出力バッファを size K バイト使用します。これは一時的に
  システム動作が重くなった時の影響を回避する際に便利です。というのも、
  このような状況ではオーディオ出力に割り込みが入ることが通常だからで
  す。バッファのサイズには少なくとも 1024 (つまり 1MB。これは 6 秒分
  のオーディオデータに相当します) を指定すべきです。300 以下だとほと
  んど意味がありません。デフォルト値は 0 (バッファリングが無効)です。

つーわけで、-b 1024に変更。

googleで見つけたんだけど、それ以前に

% locate mpg123.1
/old/usr/local/man/cat1/mpg123.1.gz
/old/usr/local/man/man1/mpg123.1
/pub/linux/mpg123-0.59r/mpg123.1
/usr/local/man/man1/mpg123.1
/usr/man/ja_JP.eucJP/man1/mpg123.1.gz

ちゃんとここにあるじゃん。 あ、コマンドがあるかどうか無関係にJMには存在しているのか。

glibc 2.2.3

相変わらずいろいろ試している。会社のPentium II 400MHzでは

make  1857.91s user 283.73s system 87% cpu 40:41.03 total

だ。ってまじかよー。gcc 2.95.3を使ったという違いはあるが。 あ、それか原因は。3.0がもの凄く遅いんだな。 てゆかやっぱglibc 2.2.3にはgcc 3.0じゃだめらしい。 glibc-2.2.3-nss.diffも必要らしい。 あまりにもこの辺の情報知らなすぎ。

make checkしてみると失敗。 -Osが悪いのかと思い、-Oにしてもう一度make checkしても失敗。 が、さっきと違うところだ。 まさかと思いそのままもう一度make checkするとまた違うとこで失敗。 がーん。こりゃメモリがいかれてるな。 以前の kernel panic もこれが原因だろう。

eruby 0.9.6

更新。

オホーツク海高気圧

涼しいねえ。このまま勢力を保ち続けて欲しいもんだ。


2001-08-07 (Tue)

glibc 2.2.3

install時はprefixじゃなくてinstall_rootを使うんだね。

# make install install_root=/mnt

が正解だったのか。とりあえず~/glibcへインストールしてみよう。

% make install install_root=$HOME/glibc
% mkdir ~/glibc/bin
% cp /bin/{bash,ls} ~/glibc/bin
% ldd /bin/bash
        libncurses.so.5 => /lib/libncurses.so.5 (0x4001a000)
        libdl.so.2 => /lib/libdl.so.2 (0x4005b000)
        libc.so.6 => /lib/libc.so.6 (0x4005e000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
% cp /lib/libncurses.so.5 ~/glibc/lib
% sudo chroot ~/glibc /bin/bash
# ls
bin   etc   lib   sbin  usr

よさそう。


2001-08-08 (Wed)

glibc 2.2.3

やっと立ち上がった。が、localeがおかしい。

Gdk-WARNING **: locale not supported by C library

となってしまう。どこかミスってるなあ。

xmms 1.2.5

xmmsもちゃんと起動するようになった。 localeがだめだめだから、やっぱPLAYLISTに日本語が出ない。 setlocaleがNULLを返してるわけか。 うーむ。


2001-08-09 (Thu)

glibc 2.2.3

インストールが中途半端だったらしい。INSTALLを見ると

% sudo make localedata/install-locales

が必要。これでxmmsも日本語表示されるようなった。

ruby-1.7.1 2001-08-06

すでに こう なっています。 &&も同じです。というわけで

if true && ~ /regex/

と書きなさいということになると思います。

mkmf.rb

いやbuild directoryを別に用意してる人のほうが多いでしょう。

% echo '#include "foo.h"' >foo.c
% touch foo.h
% mkdir bar
% cd bar
% cc -E ../foo.c
# 1 "../foo.c"
# 1 "../foo.h" 1
# 2 "../foo.c" 2

VC++がそこまで面倒見てくれないとすると、-I$(srcdir)も必要ですね。

[FFX] 辞書

今頃になって2巻を見つける。遅いよ。


2001-08-10 (Fri)

[Cygwin] gdb, Tcl/Tk

gdbが動かない原因は

% objdump -p /bin/gdb.exe | grep 'DLL Name'
        DLL Name: cygitcl30.dll
        DLL Name: cygitk30.dll
        DLL Name: cygtcl80.dll
        DLL Name: tix4180.dll
        DLL Name: cygtk80.dll
        DLL Name: COMDLG32.DLL
        DLL Name: GDI32.dll
        DLL Name: KERNEL32.dll
        DLL Name: cygwin1.dll
        DLL Name: SHELL32.DLL
        DLL Name: USER32.dll
% tar tfvz tcltk-20001125-1.tar.gz | grep dll
-rwxrwxrwx cgf/group     82944 2000-12-05 15:04 usr/bin/cygitcl30.dll
-rwxrwxrwx cgf/group     35328 2000-12-05 15:04 usr/bin/cygitk30.dll
-rw-rw-rw- cgf/group    399360 2000-12-05 15:04 usr/bin/cygtcl80.dll
-rw-rw-rw- cgf/group      4608 2000-12-05 15:04 usr/bin/cygtclpip80.dll
-rw-rw-rw- cgf/group     10240 2000-12-05 15:04 usr/bin/cygtclreg80.dll
-rw-rw-rw- cgf/group    637952 2000-12-05 15:04 usr/bin/cygtk80.dll
-rwxrwxrwx cgf/group    204288 2000-12-05 15:04 usr/bin/tix4180.dll

だった。ntsecにしたときはx permissionが必要なんだよね。 Chrisだめじゃん。

ぐる?

なるほど。たしかにそういう場合はccに関係なく-Iが必要ですね。


<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!