[SML 7921] Re: Squeak 4.2の日本語版

Masashi Umezawa ume @ softumeya.com
2011年 4月 19日 (火) 10:30:16 JST


こんにちは
梅澤です。

> 別途ダウンロードしたバイナリのlinux版のVM、
> Squeak-4.4.7.2357-linux_i386.tar.gzと
> Cog VM(coglinux.tgz r2378)で、Squeak 4.2の日本語版のイメージを試した
> ところ、日本語入力が文字化けしました。調べたところso.ImmX11Plugin(Cog VM
> の場合はImmX11Plugin)が無いことが原因と分かりました。このプラグインは
> どこから入手すべきものでしょうか?

ImmX11Pluginですが、4.4.7では(おそらくライセンス確認などの理由で)一時的にソースツリーから消えたのです。
SVNの過去のリビジョンをみると参照できます。
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/plugins/ImmX11Plugin/ImmX11Plugin.c?rev=2183&sortby=log&view=markup

> (Squeak 4.2の日本語版All-in-oneに含まれているlinux版のVMのファイル群が、
> このプラグインのファイルを除いて、Squeak-4.4.7.2357-linux_i386、Cog VM
> r2378のものと(md5が)同じであることと、以前から使っている一つ前(?)のVM
> Squeak-4.0.3.2202-linux_i386.tar.gzには含まれていたso.ImmX11Pluginが
> Squeak 4.2の日本語版All-in-oneに含まれているものと(md5が)同じことが分かっ
> たので、とりあえずはコピーして使っています。また、sourceforgeの変更履歴に
> 記述があったso.UUIDPluginはSegmentation faultを起こすことがあるので
> 削除しています。)

その方式で問題ないと思います。厳密にはSVNにおかれているプラグイン系のソースは少し古く、VMMakerというツールを使ってSqueak側から自動生成(トランスレート)してビルドする必要があったわけですが、All-in-oneでは皆が使っている実績あるバイナリをなるべくそのままの形で採用したかったということがあります。

最新のVMをソースからビルドしてみたいということであれば、Unix Squeakのページに置いてあるイメージを元に
http://www.squeakvm.org/unix/release/unix-4.4.7.image
http://www.squeakvm.org/unix/release/unix-4.4.7.changes

VMMakerを最新のものに更新すれば、最新のプラグインのソース生成、ビルドを行うことができます。(できあがるVMはこのメールを書いている時点では4.4.12)になります。
http://www.squeaksource.com/VMMaker.html

>> 今回からCog VMも使えますので、いろいろと速くておすすめです。
>
> ReadMe-ja.txtには「Cog VMでイメージの保存を行うと従来のVMでは開けなイ
> メージに変換されます。Cog用として別名で保存されることをお勧めします。」
> とありましたが、上記VM Squeak-4.4.7.2357-linux_i386とCog VM r2378(Squeak
> 4.2 日本語版All-in-oneに同梱のVM)で、同じイメージに保存をして少し試しま
> したが、問題無いようです。問題なく開けているようでも、同じイメージを通常
> のVMとCog VMで使っていると問題が発生するのでしょうか?
> (ちなみに、Cog VM r2378で保存したイメージを、Squeak-4.0.3.2202-
> linux_i386のVMで開こうとすると、
>
> This interpreter (vers. 6502) cannot read image file (vers. 6505).
> Press CR to quit...
>
> のメッセージが出て、開けませんが、このCog VM r2378で保存したイメージを一旦
> Squeak-4.4.7.2357-linux_i386のVMで開いて保存し直すと、
> Squeak-4.0.3.2202-linux_i386のVMで開けるようになります。)
>

これはUnix 4.4.7のVMがCogの新フォーマットを旧フォーマットに変換して立ち上げるという機能を実装しているためです。すべてのプラットフォームでこの機能が利用できるわけではありません。

原則は http://ftp.squeak.org/Cog/README にあるように、
"once an image has been saved on Cog it cannot be run by an existing Squeak VM"
と考えておいた方が良いでしょう。

-- 
"SoftUmeYa, LLC"
[:masashi | ^umezawa]


SML メーリングリストの案内