[Kazehakase-devel 2879] Re: 0.5.2リリース

Back to archive index

Mamoru Tasaka mtasa****@ioa*****
2008年 2月 27日 (水) 01:11:46 JST


田坂です

先ず始めに:
現在のFedoraのrawhideの環境は

gcc        4.3.0 20080222 (Red Hat 4.3.0-0.11)
xulrunner 1.9 nightly 20080223
nspr       4.7.0.99.1
hunspell  1.2.1
になっています。

Hiroyuki Ikezoe wrote, at 02/25/2008 01:04 PM +9:00:
> g新部ひろゆきです。
> 
> 2008-02-23 (土) の 16:27 +0900 に Mamoru Tasaka さんは書きました:
>> Mamoru Tasaka wrote, at 02/22/2008 03:49 PM +9:00:
>>> Hiroyuki Ikezoe wrote, at 02/22/2008 02:23 PM +9:00:
>>>> ごめんなさい。間違いました。
>>>> nsEmbedString.hが問題なのは64ビットの方でした。
>>>> MOZILLA_INTERNAL_APIをdefineしてるのは
>>>> nsICanvasRenderingContextInternal.hのとこだけで、そこは失敗しても問題な
>>>> いです。
>>> こっちは(xulrunner 20080217 版ですが)
>>> /usr/include/xulrunner-sdk-1.9pre/unstable/nsStringAPI.h :
>>> ----------------------------------------------------------------------------------
>>>   1186  inline const nsDependentSubstring
>>>   1187  Substring( const PRUnichar* start, const PRUnichar* end )
>>>   1188  {
>>>   1189    return nsDependentSubstring(start, end - start);
>>>   1190  }
>>>   1191  
>>>   1192  inline const nsDependentSubstring
>>>   1193  Substring( const PRUnichar* start, PRUint32 length )
>>>   1194  {
>>>   1195    return nsDependentSubstring(start, length);
>>>   1196  }
>>> ----------------------------------------------------------------------------------
>>> となってるようです。
>>>
>> うーん、-Wsign-compare -Wsign-conversion -Wconversion -Werrorと書いているのが
>> 影響して、 PRUint32 <-> int とか PRInt32 <-> floatとかの変換でerrorが大量に
>> 発生するなあ...
> 
> エラーを貼ってもらえますか?
> PRUint32 <-> int はともかく、PRInt32 <-> float は明らかにおかしいです。

まず、普通にコンパイルした結果ですが、64bitの結果を貼ると
http://koji.fedoraproject.org/koji/getfile?taskID=470975&name=build.log
です。
config.logを見ると、gecko.m4に関するcheckの所で、
-Wconversion -Wsign-conversion -Wsign-compareで更に-Werrorとなっている為
-----------------------------------------------------------------
/usr/include/xulrunner-sdk-1.9pre/unstable/nsPIDOMWindow.h: In member function 'void nsPIDOMWindow::SetModalContentWindow(PRBool)':
/usr/include/xulrunner-sdk-1.9pre/unstable/nsPIDOMWindow.h:372: error: conversion to 'PRPackedBool' from 'PRBool' may alter its value

/usr/include/xulrunner-sdk-1.9pre/unstable/nsCoord.h: In function 'nscoord NSCoordMultiply(nscoord, float)':
/usr/include/xulrunner-sdk-1.9pre/unstable/nsCoord.h:96: error: conversion to 'float' from 'nscoord' may alter its value
-----------------------------------------------------------------
みたいなerrorが発生していて、で結局引数の判別に失敗しているようです。

で、色々小細工をして
*取り敢えず-Werrorを外して
-----------------------------------------------------------------
sed -i.bool -e \
	's|#define \(MOZ_NSIHELPERAPPLAUNCHERDIALOG_NSPRBOOL_\) 1|#undef \1|' \
	config.h
-----------------------------------------------------------------
 として取り敢えずごまかす
*libxul-embedding-unstable.pcに"Requires: nspr"がないので
 CFLAGS, LDFLAGSに適当にnsprに関するものを加える
*libxul-embedding-unstable.pcに-lxul -lxpcomがないのでそれも加える
としてコンパイルを取り敢えず通したのが
http://koji.fedoraproject.org/koji/getfile?taskID=471019&name=build.log
ですが、これでも
-----------------------------------------------------------------
[tasaka1 @ localhost .libs]$ ldd -r gecko.so >/dev/null
undefined symbol: _Z19NS_NewStorageStreamjjPP16nsIStorageStream (./gecko.so)
undefined symbol: _ZNK19nsACString_internal12BeginReadingEv     (./gecko.so)
-----------------------------------------------------------------
となります。これに関しては
http://developer.mozilla.org/en/docs/Migrating_from_Internal_Linkage_to_Frozen_Linkage
が関係していると思います。




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