2009-07-04
perl 5.8.8 を debian sid にソースから入れる
perl が 5.10 になってしまったので、仕事用に /usr/local に perl 5.8.8 を入れたい。と思ったらふつうに make できないし困った。
まず miniperlmain でエラるのは
と同様に gcc -E で余計なものが増えたからで、makedepend.SH に command-line 文字列を取り除くように追加(command line ならあるけど、紛らわしい…)。
make で
undefined reference to `floor'
でこけるのは Makefile の CC のオプションに -lm を追加して対処 ( gccでmath.hの関数を使うソースがコンパイルできない場合の対処法 - ぬいぐるみライフ? が参考になりました)。./Configure 時のオプションに CFLAGS があったかも知れない。
直接 Makefile 書き換えたら、その後の xs モジュールのコンパイルに影響が出たので、ちゃんと ./Configure の対話型オプション設定でそれっぽいところに -lm を追加する必要がある。
で、SysV が asm/page.h が無くてコンパイルできないのは…。カーネルのヘッダファイル ( /usr/src/linux-headers-2.6.30-1-686/ ) に無いんだけどどうすれば…。とりあえず static コンパイルのライブラリに入れずに作成…。
といろいろしてみたけど、XS周りが怪しい感じになってしまったので、5.8.9 にしたら安定した…
coLinux から VirtualBox 移行ではまったこと
thinkpad x61 の Windows 7 Beta で使えた coLinux が、Windows 7 RC になったらまたフリーズするようになったので、いよいよ coLinux から VirtualBox (ホストOS は windows) へと移行してはまったよメモ。
ファイルシステム
coLinux のイメージは raw 形式らしいので、VBoxManage コマンドで変換できる。
$ VBoxManage convertfromraw --format VDI (coLinuxイメージ名) (変換イメージファイル名).vdi index.rb [nofuture.tv]
10G の変換に 40分ぐらいかかった。じっと待つ。home 用に使っていた reiserfs のイメージは問題無く使えたけど、その他全部用に使っていた reiserfs はなんかおかしかったので利用しないことにした。
ネットワークを使うとすぐゲストOSがフリーズする
標準の PCnet-FAST III ではすぐゲストOS (debian lenny) がフリーズした。Intel PRO/100 MT desctop に変更したら安定。2ch の VirtualBox スレにも同様の現象が発生して解決した人がいた。
coLinux の TAP 接続のようなネットワークで利用したい
外部ネットワークには実マシンのNIC経由(windows ネットワークの接続の共有)で、ゲストOSにはホストOSとゲストOSのみで形成されるネットワーク経由でアクセスしたい場合。つまり coLinux で TAP 使ってネットワーク使っていたような感じにしたい場合は、ネットワークで、Host-only adapter を利用し、ファイル -> 環境設定 -> ネットワーク で IP と DHCPD(つかいたければ) の設定すれば OK 。
その Host-only adapter で指定した IP に対してゲスト OS から default gateway を指定すれば外に出て行ける( windows ネットワーク接続の共有の設定は必要 ) し、ホスト OS からゲスト OS へのアクセスには DHCPD が割り振った IP につなげば問題無くいける。
最初は NAT あって超便利!って思ったけど ssh / http その他いろんなポートの設定が必要だし、samba の設定めんどくさいし、ということで慣れている上記仮想ネットワークの方法で設定した。
そんな感じで今 debian sid に dist-upgrade しながらちまちまとパッケージインストール中。CPAN から perl ライブラリ入れてどうにかするのが一番めんどくさい。昔はディストリの入れ直し作業が楽しかったのに今はめんどくさいとしか思えないお…。