Opened 15 years ago
Closed 13 years ago
#22864 closed defect (fixed)
webkit-gtk build failure with icu 4.3.3 (error in TextBreakIteratorICU.cpp)
Reported by: | vinc17@… | Owned by: | myschizobuddy@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.1 |
Keywords: | Cc: | dbevans (David B. Evans), teusjannette@…, michael.platzer@…, glyph@… | |
Port: | webkit-gtk |
Description
make[1]: *** [WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'WebCore::TextBreakIterator* WebCore::setUpIterator(bool&, WebCore::TextBreakIterator*&, UBreakIteratorType, const UChar*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:41: error: invalid static_cast from type 'UBreakIterator*' to type 'WebCore::TextBreakIterator*' WebCore/platform/text/TextBreakIteratorICU.cpp:49: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'void ubrk_setText_43(UBreakIterator*, const UChar*, int32_t, UErrorCode*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakFirst(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:90: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_first_43(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakNext(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:95: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_next_43(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakPreceding(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:100: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_preceding_43(UBreakIterator*, int32_t)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakFollowing(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:105: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_following_43(UBreakIterator*, int32_t)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakCurrent(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:110: error: cannot convert 'WebCore::TextBreakIterator*' to 'const UBreakIterator*' for argument '1' to 'int32_t ubrk_current_43(const UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'bool WebCore::isTextBreak(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:115: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'UBool ubrk_isBoundary_43(UBreakIterator*, int32_t)' make[1]: *** [WebCore/platform/text/libWebCore_la-TextBreakIteratorICU.lo] Error 1 make: *** [all] Error 2
Attachments (1)
Change History (17)
comment:1 Changed 15 years ago by vinc17@…
Summary: | webkit-gtk build failure on 10.4 (error in TextBreakIteratorICU.cpp) → webkit-gtk build failure with icu 4.3.3 on 10.4 (error in TextBreakIteratorICU.cpp) |
---|
comment:2 Changed 15 years ago by mf2k (Frank Schima)
Cc: | devans@… added |
---|---|
Owner: | changed from myschizobuddy@… to myschizobuddy@… |
Priority: | High → Normal |
A ticket can only be assigned to one person. Other maintainers should be added to Cc. Also, High priority should be used sparingly and for tickets that affect many people.
comment:3 follow-up: 4 Changed 15 years ago by hayes@…
Since port install glade3 installs icu version 4.3.3_0, shouldn't a change be made in the port for glade3 to use 4.3.1_0?
Is there some way to easily re-install but tell macports to stick to icu version 4.3.1_0 during the installation?
comment:4 Changed 15 years ago by vinc17@…
Replying to hayes@…:
Is there some way to easily re-install but tell macports to stick to icu version 4.3.1_0 during the installation?
- Use the -n option (but this will block other upgrades of dependencies).
or
- Use a local port icu 4.3.1_0.
I think I'll do the latter.
comment:5 Changed 15 years ago by vinc17@…
Indeed, icu 4.3.3 seems to have broken the API (at least for C++): in unicode/ubrk.h,
typedef void UBreakIterator;
was changed to:
typedef struct UBreakIterator UBreakIterator;
I've just posted a message to the icu-support mailing-list about that.
Changed 15 years ago by mtalexander (Mike Alexander)
Attachment: | TextBreakIterator.diff added |
---|
Patch to make webkit build with icu 4.3.3
comment:7 Changed 15 years ago by mtalexander (Mike Alexander)
This isn't really an icu problem. They changed (for the better) the definition of UBreakIterator and webkit needs to be changed to conform to this. I imagine this has been (or will be) fixed upstream in webkit, but I made the obvious patch (which is attached) and it seems to work.
comment:9 Changed 15 years ago by teusjannette@…
The same problem also happens on Mac OS X 10.6 Snow Leopard. I do see that the patch has been supplied. But how do I apply this patch? Or when will this patch make it into the ports? Thanks, Teus.
comment:10 Changed 15 years ago by vinc17@…
Summary: | webkit-gtk build failure with icu 4.3.3 on 10.4 (error in TextBreakIteratorICU.cpp) → webkit-gtk build failure with icu 4.3.3 (error in TextBreakIteratorICU.cpp) |
---|
comment:11 follow-up: 12 Changed 15 years ago by michael.platzer@…
Cc: | michael.platzer@… added |
---|
Cc Me!
comment:12 Changed 15 years ago by michael.platzer@…
I am experiencing the same issue on Snow Leopard as well (just as Teus), and this currently keeps me from installing glade3. So, can you please provide some tipps on how we should apply this patch? Thanks, michael
comment:14 Changed 15 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:15 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This seems to have regressed...
In file included from WebCore/dom/Text.cpp:28: ./WebCore/platform/text/TextBreakIterator.h:29: error: using typedef-name 'UBreakIterator' after 'struct' ./WebCore/icu/unicode/ubrk.h:22: error: 'UBreakIterator' has a previous declaration here ./WebCore/platform/text/TextBreakIterator.h:29: error: invalid type in declaration before ';' token make[1]: *** [WebCore/dom/libwebkit_1_0_la-Text.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_webkit-gtk/webkit-gtk/work/webkit-1.2.7'
comment:16 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
This was with icu @4.3.3_0 (current version). If I revert to icu @4.3.1_0, I no longer get the error.