最新更新日  2003.04.17.

SVR4 エミュレータを使ってみる。
  最近は OpenOffice が流行りですなぁ。Linux バイナリを FreeBSD で動かすとか、ports で make するとかですな。僕には(あんまり互換性の無い) KOffice があるのでなかなかシショクが沸かないです。OpenOffice については他の方の web を見てくださいね;-P。

  僕個人的には FreeBSD の次に好きなのが Solaris IA32 なのですが、Solaris9 のメディアを入手したらなんと、StarSweet(スペル合ってる?(^^;;)が付いているではないですか。Linux 版は高い金出さなきゃ買えない(と言いつつ MS/Office よりはるかに安いですが)ので、ちとまぁ、なんと言うか・・(^^;;。

  でまぁ、Solaris9 についていた StarOffice を動かしてみようと言う事になるのですな。幸いな事にちょっと前から FreeBSD では SVR4 エミュレータがインプリされつつある様なのでついでにそれも試してしまえと言う事になります。では早速トライ。

  と、言う事で最初はカーネルから再構築します。以下のオプションを指定してあげましょう。SVR4 エミュレータは カーネルロードモジュールとしてはデェフォルトでは入らないみたいです。linux.ko の場合は存在するのですけどね。しかし、どうしてもカーネルモジュールが欲しい場合は、/usr/src/sys/modules/svr4 で make;make install すれば良いでしょう。以下はカーネルコンフィグファイルの設定です。

options        SYSVSHM                 #SYSV-style shared memory
options        SYSVMSG                 #SYSV-style message queues
options        SYSVSEM                 #SYSV-style semaphores

options        COMPAT_SVR4     # build emulator statically
options        DEBUG_SVR4      # enable verbose debugging
device         streams         # STREAMS network driver (required for svr4).

  options COMPAT_SVR4 を記述する場合には必ず options SYSV* を書かないとコンパイルが通りません。sysv* をカーネルモジュールでロードしている場合にはカーネルネィテブにしましょう。これで make が通ったら無事に完了です;-)。続いて エミュレータ本体を ports からインストールします。/usr/ports/emulators/svr4_base を make;make install すれば SVR4 の環境が整います。後はマシンをリブートして、さて、試してみましょう。

  リブートしたのでさて、使ってみるか。と、言う事になるのですが、ports からインストールした SVR4 エミュレータは /compat/svr4 に入ります。すぐ横には linux がありますな;-)。で、このディレクトリを覗いてみると。あれま(@_o)。usr@ -> /cdrom/Solaris_2.6/Tools/Boot/usr とか書かれているよ・・。 Solaris2.6 の CD-ROM が無いとダメやんけっ!! ちぃとばかし愕然・・。しくしく。

  そこで少々考える事 23 秒。あれ?僕は Solaris9 の CD-ROM 持っているじゃん。とひらめいて、CD-ROM をすかさず mount したわけですな。しかぁぁぁーーーしっ!! Solairs2.6 と Solaris9 の CD-ROM の中身は随分と違うのねんのねんのねん。敢えなく玉砕。しくしく(g_g)。

  結局最後の手段。Solaris9 をインストールしたマシンから、/usr を全部 tar で固めて持ってきてしまうと言う荒業に出て、/compat/svr4/usr の symlink 先を変更してなんとか環境が整ったのですな。うひひひひ。ここまでそれなりに長い道のり;-)。

  と、言う事で環境がようやっと揃ったのでイザ実行してみる。/usr/bin/ls などはサクサク動く。ps -ef は動きませんなぁ・・。と、言う事で真打ちとも言うべき、StarOffice ですが、見事に玉砕、core dump して動きませんでした・・(g_g)。何のための SVR4 エミュレータなんだぁぁ? とまぁ、ふと考えてみると、Solaris2.6 のCD-ROM を使ったとしても symbol not found などで多分 StarOffice は動かないだろぅなぁ。

  StarOffice が動かないとなると、なんとかして SVR4 エミュレータを試してみたいと言う方向性に変化するわけですが、トライしたのが Solaris IA32 版の Acroread でんな。これはまだ 4.0.5 なんだけれど、ふっふっふっ。これは動いた;-)。FreeBSD 上で Solaris 版の Acroread-4.0.5 が動いた。うひひひ。けど、Linux 版があるのであまり嬉しくもないのよねぇ・・。けどもまぁ、動いたと言う事で;-)。

  現状での SVR4 エミュレータの問題点と言うか扱いと言うかですが、Sorails2.6 を必要としている点がいかんともしがたい。僕も以前はメディアを持っていたけど Solaris2.6 と Solaris7 の CD-ROM は捨ててしまったのよねぇ・・。と、言うのが一点。後、現状の FreeBSD のバグで、Linux エミュレータと SVR4 エミュレータを有効にしていると、Linux バイナリを動かした時、SVR4 エミュレータが動作してしまい Linux バイナリが動いてくれないと言う点があります。Acroread や RealPlayer が動かないんですな。これは悲しい。

  しかし、多分今辺りの 5-CURRENT ではそのバグが直っている可能性大です。誰か試した方いますか?まぁ、SVR4 エミュレータがだいぶ動く様になったと言う点では良しと思わなければならないでしょうかねぇ。おいおい Solaris 版 StarOffice が動くまでになるか、今後に期待する事にしましょう;-)。



Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.