[Kazehakase-devel 2678] gecko_version の取得方法変更のお願い

Back to archive index

UTUMI Hirosi utuhi****@yahoo*****
2006年 9月 12日 (火) 18:17:24 JST


内海です。

今年の初めにこのような状態になって以来
すっかりギブアップしていたのですが、
http://lists.sourceforge.jp/mailman/archives/kazehakase-devel/2006-January/002477.html
> 試しましたが同じところで止まります。
> ---
> kz-mozlauncher.cpp:71: error: prototype for ‘nsresult
KzContentHandler::Show(nsIHelperAppLauncher*,
> nsISupports*, PRBool)
> ’ does not match any in class ‘KzContentHandler’
> kz-mozlauncher.h:57: error: candidate is: virtual nsresult
> KzContentHandler::Show(nsIHelperAppLauncher*, nsISupports*, PRUint32)
> make[4]: *** [kz-mozlauncher.lo] エラー 1
> ---

Mandriva の bugzilla に
風博士を必要としているかたがいらっしゃるようなので
http://qa.mandriva.com/show_bug.cgi?id=24336
改めてチャレンジしてみました。

kazehakase-0.4.0 でも同じようなビルドエラーが出ます。
エラーの内容と周辺のコードを対照すると
kz-mozlauncher.cpp:66-72
> NS_IMETHODIMP KzContentHandler::Show(nsIHelperAppLauncher *aLauncher,
> nsISupports *aContext,
> #ifdef HAVE_GECKO_1_8
> PRUint32 aForced)
> #else
> PRBool aForced)
> #endif

> > kz-mozlauncher.cpp:71: error: prototype for
> >‘nsresult KzContentHandler::Show(nsIHelperAppLauncher*,
> > nsISupports*, PRBool)

PRUint32 がスルーされていることに気づきました。

そこで kz-mozlauncher.cpp:66-72 を次のように改変すると
> NS_IMETHODIMP KzContentHandler::Show(nsIHelperAppLauncher *aLauncher,
> nsISupports *aContext,
> PRUint32 aForced)
別の箇所でエラーが出るものの
ひとまずこの箇所は通過することができます。

"GECKO_1_8 を有しているのに、false だと判定されているのでは" と思い
configure.in を確認しました。
> gecko_version=`cat $MOZILLA_INCLUDE_ROOT/mozilla-config.h | grep
MOZILLA_VERSION_U | awk '{ print $[3]; }' | tr ".ab+" " "`
> if test -z "$gecko_version"; then
> gecko_version="1 7"
> fi

Mandriva の mozilla-config.h は
$ leafpad /usr/include/mozilla-firefox-1.5.0.6/mozilla-config.h
> #define _MULTIARCH_HEADER mozilla-firefox-1.5.0.6/mozilla-config.h
> #include <multiarch-dispatch.h>
となっており、
MOZILLA_VERSION_U の要素がありません。

そこで gecko_version を強制指定したところ
問題なくビルドできるようになりました。
-gecko_version=`cat $MOZILLA_INCLUDE_ROOT/mozilla-config.h | grep
MOZILLA_VERSION_U | awk '{ print $[3]; }' | tr ".ab+" " "`
-if test -z "$gecko_version"; then
- gecko_version="1 7"
-fi
+gecko_version="1 8"

短時間動かした限りでは動作も問題なさそうです。

可能でしたら、gecko_version を
firefox のバージョンから推測するように
変更していただけましたら幸いです。

Mandriva 用の SRPM を作りました。
http://sourceforge.net/project/showfiles.php?group_id=109779&package_id=119961

風博士の改善を続けてくださってありがとうございます。

//
http://lists.sourceforge.jp/mailman/archives/kazehakase-devel/2006-January/002479.html
> Debian sid ではうまくいっているので,もしかしたら
> SUSE 固有の問題があるのかもしれません.

Mandriva です...
(8ヶ月あとのツッコミ :-))

--------------------------------------
[10th Anniversary] special auction campaign now!
http://pr.mail.yahoo.co.jp/auction/



Kazehakase-devel メーリングリストの案内
Back to archive index