しらいです。

In article <x71xvijrzh.fsf@maiorica.uni.sony.co.jp>,
 <lum@uni.sony.co.jp> wrote:
>佐藤通敏です。

>> > # そんなん install する前に言えよっっ。
>
>ちゃんとMedia Kit CDの中にリーフレットが入っていると思いましたが、

 それは私も読みましたが、「これ使うには license 要るで」と
か「license 欲しかったらこれ読んでや」とか書いてあるだけで、
肝腎の「お前はその license を持っとらんのやで」が書かれてま
せんでしたので、ならせめて install 時に真っ先に license 確認
してくれたらいいのにと思った次第です。
 Solaris 8 の時には Forte C の CD なんか付いてこなかったし、
Solaris 9 は Media Kit 購入時に license も強制的に買わされる
訳で、Solaris 9 では WorkShop C が標準で使えるんだなと思って
も不思議はないと思いますけど。


>WorkShop CやForte Developer 6 だと30日間無料で使えるライセンスが
>貰えます。

 lxrun を build するだけの目的ならそれでもいいかも知れませ
んけど、試用期間過ぎた頃に lxrun の重大な bug が見つかったり
したら悲しいですよね。

# 私自身は Solaris 8 も 9 も compile 検証用に買ったので、
#恒久的に使えないと意味ありません。testdrive.hp.com みたい
#な枠組でもあればいいんですけどね。


 で、元の話に戻りますが、あの後よく探してみたら、compile 済
の binary package なるものが見つかりました。
ftp://ftp.sunfreeware.com/pub/freeware/intel/7/lxrun/lxrun.tar.gz

 Solaris 7 用らしいですけど Solaris 9 でも一応動くみたいで
す。binary package からの install 方法が書かれていないんです
が多分こうするんだと思います。
        $ gzip -cd lxrun.tar.gz | tar xf -
        $ su
        Password:
        # mkdir -p /usr/local/bin
        # install -c -s ./lxrun/lxrun /usr/local/bin
        # mkdir -p /usr/local/linux/lib
        # cp -p ./lxrun/liblxrun.so.1 /usr/local/lib
        # mkdir -p /usr/local/lxrun
        # cp -p ./lxrun/PATHMAP /usr/local/lxrun

 lxrun に付いて来る Makefile を使って make install しようと
すると、何か間違った記述が多くて install 出来ないみたいです
ね。

 後は /usr/local/linux 以下に、Linux 用の /lib とか /usr/lib
とか /etc とかを一通り install すればいいんだと思います。
 私は面倒なので既存の Linux 環境からがーんと tar で固めたも
のを copy して来ましたが、Linux の ext2fs filesystem を丸ご
と Solaris から mount するためのツールも binary で用意されて
います。
ftp://ftp.sunfreeware.com/pub/freeware/intel/7/lxrun/ext2fs.tar.gz


 あと、ここからは Solaris 9 専用の話になりますが、Solaris 9
の Media Kit CD には lxrun 0.9.6pre1 の binary が含まれてい
ます。
 Software Companion CD から installer を実行すると /opt/sfw
以下に大量の free software が install されるんですが、その中
に lxrun も入っていますね。
 こいつは何故か動かないのですっと諦めていたのですが、binary
package を動かしてコツを掴んだら、単に install directory を
間違えられていただけだと判りました。

 設定 file の lxrun_pathmap は本来 /opt/sfw/etc 以下に置か
れるべきなのですが、これが誤って /opt/sfw/lib 以下に install
されてしまっています。
 この file を本来の directory に移動させるか、もしくは間違
って install された path name の /opt/sfw/lib/lxrun_pathmap
を環境変数 LINUX_PATHMAP に設定すれば、対応が可能です。
 尚、この Software Campanion CD の lxrun の場合、Linux 用各
種 binary は /opt/linux 以下に install して下さい。


 因みに、gcc で build しようとすると、shared library 構築用
の compile option が WorkShop C 用に書かれているため、それに
相当する gcc の option が判らないと Makefile を書き直せませ
ん。
 作成される shared library の liblxrun.so.1 はどこでどう使
われているのか不明なのですが、lxrun 自体は gcc でも作成可能
なので、もしこれ単体で機能するようなら gcc でも問題ないと思
います。
 但し、私が試した限りでは、gcc で作った lxrun を実行すると、
ld-linux.so を見つけられなくて失敗してしまいます。LINUX_ROOT
を明示的に指定し、その下に ld-linux.so を置いても駄目でした。

-- 
                                               しらい たかし