2012年01月04日 gecko-mediaplayerとgnome-m-player [長年日記]
_ gecko-mediaplayer-1.0.4をgecko-sdk-9.0.1でビルド
forefox-9.0.1から生成したgecko-sdkの環境でgecko-mediaplayer-1.0.4をビルドしたらエラーが出た。
In file included from np_entry.cpp:44:0: npupp.h:703:49: error: declaration of C function 'char* NP_GetMIMEDescription()' conflicts with /usr/local/gecko-sdk-9.0.1/sdk/include/npfunctions.h:307:24: error: previous declaration 'const char* NP_GetMIMEDescription()' here np_entry.cpp:83:30: error: new declaration 'char* NPP_GetMIMEDescription()' /usr/local/gecko-sdk-9.0.1/sdk/include/npapi.h:794:13: error: ambiguates old declaration 'const char* NPP_GetMIMEDescription()' np_entry.cpp: In function 'char* NP_GetMIMEDescription()': np_entry.cpp:87:35: error: invalid conversion from 'const char*' to 'char*' make[3]: *** [np_entry.o] エラー 1 make[3]: ディレクトリ `/home/m-ito/INSTALLED/gecko-mediaplayer-1.0.4/src' から出ます make[2]: *** [all-recursive] エラー 1 make[2]: ディレクトリ `/home/m-ito/INSTALLED/gecko-mediaplayer-1.0.4/src' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/home/m-ito/INSTALLED/gecko-mediaplayer-1.0.4' から出ます make: *** [all] エラー 2
こんな感じ。 で、パッチを当てた。
*** ./src/npupp.h.ORG Tue Jan 3 22:57:27 2012 --- ./src/npupp.h Tue Jan 3 22:59:02 2012 *************** *** 700,706 **** --- 700,710 ---- /* plugin meta member functions */ + #if 0 NP_EXPORT(char *) NP_GetMIMEDescription(void); + #else + NP_EXPORT(const char *) NP_GetMIMEDescription(void); + #endif NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs *, NPPluginFuncs *); NP_EXPORT(NPError) NP_Shutdown(void); NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue); *** ./src/npp_gate.cpp.ORG Tue Jan 3 23:00:35 2012 --- ./src/npp_gate.cpp Tue Jan 3 23:01:11 2012 *************** *** 44,50 **** --- 44,54 ---- #include "plugin_types.h" #include "plugin_setup.h" + #if 0 char *NPP_GetMIMEDescription(void) + #else + const char *NPP_GetMIMEDescription(void) + #endif { return GetMIMEDescription(); } *** ./src/np_entry.cpp.ORG Tue Jan 3 22:54:09 2012 --- ./src/np_entry.cpp Tue Jan 3 23:00:07 2012 *************** *** 80,88 **** --- 80,96 ---- #endif /* XP_WIN */ + #if 0 char *NPP_GetMIMEDescription(); + #else + const char *NPP_GetMIMEDescription(); + #endif + #if 0 char *NP_GetMIMEDescription() + #else + const char *NP_GetMIMEDescription() + #endif { return NPP_GetMIMEDescription(); }
で、無事にビルド完了。
_ gnome-mplayer-1.0.5.tar.gzとgecko-mediaplayer-1.0.5.tar.gz
ところが、バージョン1.0.5が出ていたので、こちらをビルドしてみた。 事前にgmtk-1.0.5.tar.gzのインストールが必要なので注意すること。
gmtk-1.0.5.tar.gz
$ tar xvzf gmtk-1.0.5.tar.gz $ cd gmtk-1.0.5/ $ ./configure && make # make install && ldconfig
gnome-mplayer-1.0.5.tar.gz
$ tar xvzf gnome-mplayer-1.0.5.tar.gz $ cd gnome-mplayer-1.0.5/ $ ./configure && make # make install && ldconfig
gecko-mediaplayer-1.0.5.tar.gz
$ tar xvzf gecko-mediaplayer-1.0.5.tar.gz $ cd gecko-mediaplayer-1.0.5/ $ ./configure --with-xulrunner-sdk=/usr/local/gecko-sdk-9.0.1/sdk --enable-new-libxul $ make # make install && ldconfig # cd /usr/lib/mozilla/plugins/ # ln -s /usr/lib/seamonkey-2.1b3/mozilla/plugins/* .
新しいバージョン(1.0.5)は、コンパイルエラーも出る事無くビルド成功。