Shuttle SG31G2 FreeBSD Box #7

FLASH9

7.x-STABLEでも、安定的にFlash9が動くようになってるらしい。ということで、Shuttleでやってみることにした。

情報を総合すると、安定的にFlash9が動かすためには、

  • linux emulationはlinuxカーネルで2.6.16が望ましい。これは7.x-STABLEではデフォルトではない。8.0-CURRENTではデフォルト。
  • FreeBSDportsでいうと、Flash4はemulators/linux_base-fc4(たぶんFedora Core 4のことだろう)で動いていたが、Flash9はemulators/linux_base-f8(たぶんFedora 8)にした方が望ましい。
  • emulators/linux_base-fc4では、glib2が別port(devel/linux-glib2)になっていたが、emulators/linux_base-f8では、glib2が含まれているのでdevel/linux-glib2は必要ない。
  • が、そのへんのportsの依存関係が完璧じゃない。

んんん〜〜。portsの依存関係がくるうのはうれしくないな〜と思いつつ、メーリングリストなどを読むと、みなさん、portupgradeを駆使して、やってるみたい。しかし、僕としては、ばっさりとlinux-*をいったん全部削除して、linux_base-f8をベースにインストールし直すことにした。

linux-*が必要なのは、Flashとacroread。ports関係が完璧じゃないとすると、Acrobat Readerが使えなくなるかもしれない。KDE 4.1のPDFリーダは、かなり良くなっていて、Acrobat Readerがなくても、ドキュメントが読めなくなることはない。でも、webをみていて、PDFファイルをダウンロードするのは、ちょっとしんどいな〜とは思いつつも、せっかくだし、やってみよ〜。

linux-*のアンインストール

たぶん、

# pkg_deinstall -r linux_base-fc4

でうまくいくはずだが、ひとつひとつ手でアンインストールしました。

linux 2.6.16
# sysctl compat.linux.osrelease=2.6.16

/etc/sysctl.confにも

compat.linux.osrelease=2.6.16

と書いておく。

/etc/make.conf

/etc/make.confに

OVERRIDE_LINUX_BASE_PORT=f8

を追加する。

emulators/linux_base-f8

これで、www/linux-flashplugin9をmake installすれば良いはずだが、いちおう、emulators/linux_base-f8にいってmake installする。

www/linux-flashplugin9

をmake install

www/nspluginwrapper

をmake install

nspluginwrapper

で、プラグインを作成。id:footnote:20081103:1225673305で書いたとおり、NFSな/homeではうまく作成されないので、rootで作ってコピーする。

# nspluginwrapper -v -i /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
Install plugin /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so
  into /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so

が、インストールされた場所が分からない場合は、

# nspluginwrapper -v -a -i

とするといいらしい。ただし、後述するArcobat Readerのプラグインを見つけてくれない。この時点では、Acrobat Readerはインストールされていないので、このまま進む。

linprocfs

がないと、動かない。これではまった。普通の人とは違うところではまるみたいです。

/etc/fstabに、

linproc    /compat/linux/proc      linprocfs       rw      0    0

を追加して、再起動。

Firefox 3でみる。

プラグインがちゃんと~/.mozilla/plugins以下に入っていることを確認して、Firefoxを起動する。URLのところにabout:pluginsと入力すると、有効になってるプラグインがみれる。

お〜、YouTubeも動画と音声が乖離せずに再生されてる〜。ニコニコ動画も完璧〜。コメントの文字のフォントが、かわいい〜。荒らしコメントもかわいくみえる〜。と、ひとしきりよろこんだ。

ときどき重くなったりするが、まずまず問題なく、動いているようだ。

Acrobat Reader の再インストール

さて、Acrobatである。とりあえずjapanese/acroread8にいってmake installすると、なにかがdevel/linux-glib2を入れようとして、止まる。止まらず、入れられてしまうと、それはそれで、気持ちが悪いのだが。

でも、devel/linux-glib2は、ようするにいらなくなったんでしょ??ってことで、何とかなるはずと思う。

メーリングリストによると、x11-toolkits/linux-gtk2とかは、ちゃんとしてくれたと書いてある。Makefileを読むと、OVERRIDE_LINUX_BASE_PORTが定義されていない場合は、devel/linux-glib2を入れて、定義されていればemulators/linux_base-f8(とか、f7とか、f6)を入れることになってるらしい。

で、今問題になってるのは、www/linux-nvuというやつなのだが、これはwww/seamonkeyMakefile.commonをインクルードしてるっぽい。と、気づいたところで、id:yukimura_bsd:20081130:1228016838のエントリを見つけて、パッチが書かれていました。みんな、同じとこで悩んでるんだろな〜

www/seamonkey/Makefile.commonを書き換えて、make install!

で、雪村さんのパッチをコピペして、patch < どか〜ん、と行きたかったのだが、どうもtabとスペースの関係で、うまくいかなかった。が、ようするに、

RUN_DEPENDS?=   ${LINUXBASE}/usr/lib/libgtk-x11-2.0.so.0:${PORTSDIR}/x11-toolkits/linux-gtk2 \
                ${LINUXBASE}/usr/lib/libatk-1.0.so.0:${PORTSDIR}/accessibility/linux-atk \
                ${LINUXBASE}/usr/lib/libpangoxft-1.0.so.0:${PORTSDIR}/x11-toolkits/linux-pango\
                ${LINUXBASE}/usr/lib/libgobject-2.0.so.0:${PORTSDIR}/devel/linux-glib2 \
                ${LINUXBASE}/usr/lib/libfontconfig.so.1:${PORTSDIR}/x11-fonts/linux-fontconfig \
                ${LINUXBASE}/usr/share/icons/hicolor/index.theme:${PORTSDIR}/x11-themes/linux-hicolor-icon-theme

の部分のdevel/linux-glib2の行を、もしOVERRIDE_LINUX_BASE_PORT=f8と定義されていたら、

                ${LINUXBASE}/lib/libgobject-2.0.so.0:${PORTSDIR}/emulators/linux_base-f8 \

に置き換えて欲しいわけです。なので、上のブロックを、まるまる

.if ${OVERRIDE_LINUX_BASE_PORT}!=f8
RUN_DEPENDS?=   ${LINUXBASE}/usr/lib/libgtk-x11-2.0.so.0:${PORTSDIR}/x11-toolkits/linux-gtk2 \
                ${LINUXBASE}/usr/lib/libatk-1.0.so.0:${PORTSDIR}/accessibility/linux-atk \
                ${LINUXBASE}/usr/lib/libpangoxft-1.0.so.0:${PORTSDIR}/x11-toolkits/linux-pango\
                ${LINUXBASE}/usr/lib/libgobject-2.0.so.0:${PORTSDIR}/devel/linux-glib2 \
                ${LINUXBASE}/usr/lib/libfontconfig.so.1:${PORTSDIR}/x11-fonts/linux-fontconfig \
                ${LINUXBASE}/usr/share/icons/hicolor/index.theme:${PORTSDIR}/x11-themes/linux-hicolor-icon-theme
.else
RUN_DEPENDS?=   ${LINUXBASE}/usr/lib/libgtk-x11-2.0.so.0:${PORTSDIR}/x11-toolkits/linux-gtk2 \
                ${LINUXBASE}/usr/lib/libatk-1.0.so.0:${PORTSDIR}/accessibility/linux-atk \
                ${LINUXBASE}/usr/lib/libpangoxft-1.0.so.0:${PORTSDIR}/x11-toolkits/linux-pango\
                ${LINUXBASE}/lib/libgobject-2.0.so.0:${PORTSDIR}/emulators/linux_base-f8 \
                ${LINUXBASE}/usr/lib/libfontconfig.so.1:${PORTSDIR}/x11-fonts/linux-fontconfig \
                ${LINUXBASE}/usr/share/icons/hicolor/index.theme:${PORTSDIR}/x11-themes/linux-hicolor-icon-theme
.endif

と書き換えてしまっているようです。linux_base-f8が大前提です。

で、japanese/acroread8にもどってmake install。Acrobat Reader 8も、再インストールされた。

acroread8のpluginを作成

再度プラグインを作成する。

# nspluginwrapper -v -i /usr/local/Adobe/Reader8/JPN/Adobe/Reader8/Browser/intellinux/nppdf.so
Install plugin /usr/local/Adobe/Reader8/JPN/Adobe/Reader8/Browser/intellinux/nppdf.so
  into /usr/local/lib/browser_plugins/npwrapper.nppdf.so
Firefox でみる

しあわせになりました。