最近は PDF を提供するホームページが増えて来ました。もーーっ!!その度に MS/OS を使うのはいやだぁぁ。ってんで adobeのホームページを見に行くと、わおぉぉーーっ!! 各種 UNIX に対応しとるやんっっ!!と思う訳です。が・・。しかし・・。悲しいかな・・。FreeBSD 版は無いのでありました・・。
がっ!!ふと考えて見るとっ!!
「FreeBSD って Linux のエミュレータ機能もっとるやんっ!!」
ってな具合でっ!!さっそくトライしましょう(^^)V。まずば、Linux エミュレータの設定、続いてアクロバットリーダの設定に付いてお話ししますね。
1. まずは Linux エミュレータの設定
今回、私は 2.2.2-RELEASE と 2.2.6-RELEASE に同じ方法でインストールしています。ここでは 2.2.6-RELEASE での内容をお話しします。また、FreeBSD ハンドブックにも Linux エミュレータに付いて書かれているのでそっちも参考にしてください。 → 1. Linux エミュレーション
まずはじめに、/etc/rc.conf の以下の行を変更します。
---------------- linux_enable="YES" # Linux emulation loaded at startup (or NO). ----------------多分 NO となっていると思うので、これを YES にしてマシンのリブートを行います。その後で、以下のコマンドを打って正しく反映されているか確認します。
---------------- roman# modstat Type Id Off Loadaddr Size Info Rev Module Name EXEC 0 4 f677e000 001c f6784010 1 linux_mod ----------------下の行がもし現れなかったら、コマンドラインで echo -n ' linux'; linux と打ちましょう。
2.2.2-RELEASE ではカーネルに 「options LINUX」 と付けて reconfig する必要が有るかも知れません。2.2.6-RELEASE で 付けて reconfig するとエラーとなります(^^;;。
さて、続いてパッケージをインストールします。一番簡単なのは、packages の下に行って、pkg_add linux* とすれば良いでしょう(^^;;。これで、/compat/linux に Linux 環境が完成します。ふぅぅ。ちょいと一休み。続いてアクロバットリーダをインストールしようっ!!以下私がインストールした Linux のパッケージです。
---------------- linux_devel-0.2 linux_kdump-1.0 linux_lib-2.4 linuxdoc-1.1 linuxgdb-4.16 ----------------2. アクロバットリーダの FreeBSD 化っ!!
---------------- roman# mkdir acroread roman# mv acroread_linux_301.tar.gz acroread roman# cd acroread roman# tar xvzfp acroread_linux_301.tar.gz roman# ./INSTALL roman# ----------------これで、/usr/local/Acrobat3 にインストールされると思います。ふぅぅ。で、すかさず実行っ!!ってな訳には行かないのです(^^;;。良く見てみると、/usr/local/Acrobat3/bin の下に acroread と言う実行ファイルがあるのでこれを実行してみますが・・。エラーになってしまいます。 file コマンドで見ると、Bourne shell script text の様です。うんうん。では FreeBSD で動く様に修正してみましょう。
---------------- roman# /usr/local/Acrobat3/bin > diff -c acroread acroread.ORG *** acroread Thu Apr 16 17:41:42 1998 --- acroread.ORG Thu Apr 16 11:12:28 1998 *************** *** 205,214 **** ACRO_CONFIG=intelbsdi export ACRO_CONFIG ;; - FreeBSD) - ACRO_CONFIG=intelbsdi - export ACRO_CONFIG - ;; Linux) ACRO_CONFIG=intellinux export ACRO_CONFIG --- 205,210 ---- ----------------FreeBSD 版は無いけど、BSDI 版のロジックが入っている事が解ります。けど、バイナリは無いんだよなぁぁ(g_g)。と、言う事で上記はパッチリストですが、ファイルの変更後のファイルはここです。 → acroread
更に、intelbsdi と言うのが無いのでこれを用意する必要があります。
---------------- roman# cd /usr/local/Acrobat3/Reader roman# ln -s intellinux intelbsdi roman# ----------------さてさて、これで動く様になるはずです。が・・。/usr/local/Acrobat3/Reader/acroread を実行すると、/usr/local/Acrobat3/Reader/intelbsdi/bin/acroread で、ライブラリが無いよ。と、言われてしまいます・・。うーーん・・。困った・・。
3. エミュレータとアクロバットの連係っっ!!
と、言う事で普通なら、ライブラリが無いと言われると ldd コマンドで確認します。では今回もそれにならってすかさず叩いてみましょう。
---------------- roman# cd /usr/local/Acrobat3/bin roman# ./acroread /usr/local/Acrobat3/Reader/intelbsdi/bin/acroread: can't load library 'libreadcore.so' roman# cd /usr/local/Acrobat3/Reader/intelbsdi/bin roman# ldd ./acroread ldd: ./acroread: not a dynamic executable roman# ----------------うーーんおかしいですねぇ・・。ダイナミックリンクされた実行形式ファイルでは無いのに、なぜライブラリが見付からないと出るのだろう?不思議だ・・。
---------------- roman# cd /compat/linux/etc roman# ln -s ld.so.conf ld.so.config roman# /compat/linux/sbin/ldconfig roman# cd /usr/local/Acrobat3/Reader/intelbsdi/bin roman# /compat/linux/usr/bin/ldd acroread libreadcore.so => not found libpfs.so => not found libagm.so => not found libXt.so.6 => /usr/X11R6/lib/libXt.so.6.0 libXext.so.6 => /usr/X11R6/lib/libXext.so.6.0 libX11.so.6 => /usr/X11R6/lib/libX11.so.6.0 libm.so.5 => /lib/libm.so.5.0.8 libdl.so.1 => /lib/libdl.so.1.7.14 libc.so.5 => /lib/libc.so.5.4.23 libSM.so.6 => /usr/X11R6/lib/libSM.so.6.0 libICE.so.6 => /usr/X11R6/lib/libICE.so.6.0 roman# ----------------ふぅぅ。Linux 版の ldd コマンドを実行する前に、Linux 版の ldconfig を実行しましょう。その後初めて、Linux 版の ldd を実行する事が出来ました。ふぅぅ。
---------------- roman# cd /compat/linux/lib roman# ln -s /usr/local/Acrobat3/Reader/intellinux/lib/libagm.so.2.0 libagm.so roman# ln -s /usr/local/Acrobat3/Reader/intellinux/lib/libpfs.so.2.5 libpfs.so roman# ln -s /usr/local/Acrobat3/Reader/intellinux/lib/libreadcore.so.3.0 libreadcore.so roman# ----------------さささ。これで動く様になったはず。起動方法等は、acroread_linux_301.tar.gz に含まれている READ.TAR とか、INSTGUID.TXT を見てください。ぐへぐへぐへ(^^)V。
あ、そうそう。ldconfig するとライブラリロードパスがボロボロになっちゃうんです。多分 ldconfig で復活出来ると思うのですが、私にはよく解りません・・(^^;;。ただ、リブートすれば確実に復活します(^^;;。
4. プラグインとして機能させよう!!
さてさて、アクロバットリーダは単体で機能する様になりました。やっほーーっ!!。せっかくなので、プラグインとしても機能させたいですよね。/usr/local/Acrobat3/Browsers/netscape を起動させてください。
私の環境では動かなかったので諦めました。また、Linux 上でどういう動きをするのかも解らないので全然知りません(^^;;。がっ!!せめて、Netscape のヘルパアプリケーションとして動作位は出来ます。設定しましょうっ!!(^^)。PDF のリンクをクリックするとちゃんと、acroread が起動されます。ふっふっふっ(^^)V。
---------------- Discription PDFfile Type application/pdf suffix pdf Application /usr/local/bin/acroread %s ----------------この設定で起動します。やったぁぁーーーっ!!\(^^)/ あ、そーそー。/usr/local/Acrobat3/bin/acroread を /usr/local/bin/acroread に symlink してくださいね(^^)。
さささ、これで、また一つ FreeBSD の楽しみが増えましたね。今回はアクロバットを見る様にするのと、Linux エミュレータの環境構築を行ったので、今後はいろいろな Linux アプリを動かす事が出来そうですね。楽しみが三倍になりましたね。