2010年08月26日 firefox-3.6.8 + mplayerplug-in [長年日記]
_ firefox-3.6.8 + mplayerplug-in
Slackware-13.1な環境でfirefox-3.6.8をビルドし、gecko-sdkもいつもの手法でインストールした。
次に、mplayerplug-in-daily.tar.gz を取得してビルドを実行
$ GECKO_XPIDL=/usr/local/gecko-sdk-3.6.8/sdk/bin/xpidl GECKO_IDLDIR=/usr/local/gecko-sdk-3.6.8/sdk/idl ./configure --enable-gtk2 --with-gecko-sdk=/usr/local/gecko-sdk-3.6.8/sdk $ make
ところが、以下のエラー発生。
In file included from include/npplat.h:42, from include/pluginbase.h:41, from Source/plugin.h:53, from Source/plugin.cpp:37: include/npupp.h:62:17: error: jri.h: No such file or directory
そこで
cp /any_where/mozilla-1.9.2/sun-java/stubs/include/jri* /usr/local/gecko-sdk-3.6.8/sdk/include/
で、ざっくりとjri関係のヘッダーファイルをコピーし、再度ビルド実行したところ以下のエラー。
/usr/lib/gcc/i486-slackware-linux/4.4.4/include/jni_md.h:79: error: conflicting declaration 'typedef int jint' /usr/local/gecko-sdk-3.6.8/sdk/include/jri_md.h:202: error: 'jint' has a previous declaration as 'typedef long int jint'
で、/usr/local/gecko-sdk-3.6.8/sdk/include/jri_md.h中の
typedef long jint;
をコメントアウト。
で、無事ビルドできた。
gecko-sdkのインストール方法をまとめると以下のように
# mkdir /usr/local/gecko-sdk-3.6.8 # cp -rL /any_where/mozilla-1.9.2/dist/sdk /usr/local/gecko-sdk-3.6.8/ # cp -rL/any_where/mozilla-1.9.2/dist/idl /usr/local/gecko-sdk-3.6.8/sdk/ # cp -rL /any_where/mozilla-1.9.2/dist/include /usr/local/gecko-sdk-3.6.8/sdk/ # cp /any_where/mozilla-1.9.2/sun-java/stubs/include/jri* /usr/local/gecko-sdk-3.6.8/sdk/include/ # vi /usr/local/gecko-sdk-3.6.8/sdk/include/jri_md.h 202: typedef long jint; をコメントアウト
でも、どこかに正しいgecko-sdkのインストール方法がドキュメント化されてるんでしょうね...
[ツッコミを入れる]