net-libs/webkit-gtk-1.1.15.4 fails to build with =dev-libs/icu-4.4*. WebCore/platform/text/TextBoundariesICU.cpp: In function 'int WebCore::findNextWordFromIndex(const UChar*, int, int, bool)': WebCore/platform/text/TextBoundariesICU.cpp:39: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' in initialization WebCore/platform/text/TextBoundariesICU.cpp: In function 'void WebCore::findWordBoundary(const UChar*, int, int, int*, int*)': WebCore/platform/text/TextBoundariesICU.cpp:70: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' in initialization
Created attachment 222869 [details] webkit-gtk-1.1.15.4:20100309-054514.log
Can you try with latest webkit-gtk version from gnome-overlay? icu-4.4* isn't even keyworded and probably newer webkit-gtk version will work better with as recent icu versions Good luck!
net-libs/webkit-gtk-1.1.22 also fails to build: 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_44(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_44(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakLast(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:95: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_last_44(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakNext(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:100: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_next_44(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakPrevious(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:105: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_previous_44(UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakPreceding(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:110: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_preceding_44(UBreakIterator*, int32_t)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakFollowing(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:115: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'int32_t ubrk_following_44(UBreakIterator*, int32_t)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'int WebCore::textBreakCurrent(WebCore::TextBreakIterator*)': WebCore/platform/text/TextBreakIteratorICU.cpp:120: error: cannot convert 'WebCore::TextBreakIterator*' to 'const UBreakIterator*' for argument '1' to 'int32_t ubrk_current_44(const UBreakIterator*)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'bool WebCore::isTextBreak(WebCore::TextBreakIterator*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:125: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'UBool ubrk_isBoundary_44(UBreakIterator*, int32_t)' WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'WebCore::TextBreakIterator* WebCore::setUpIteratorWithRules(bool&, WebCore::TextBreakIterator*&, const char*, const UChar*, int)': WebCore/platform/text/TextBreakIteratorICU.cpp:139: error: invalid static_cast from type 'UBreakIterator*' to type 'WebCore::TextBreakIterator*' WebCore/platform/text/TextBreakIteratorICU.cpp:147: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'void ubrk_setText_44(UBreakIterator*, const UChar*, int32_t, UErrorCode*)' Final release of ICU 4.4 is scheduled on 2010-03-17. The ebuild will have all keywords.
(In reply to comment #3) > net-libs/webkit-gtk-1.1.22 also fails to build: Can you please report it to upstream directly? Go to bugs.webkit.org Thanks
Confirming bug with webkit-gtk-9999. I don't see it filed with upstream yet, so I filed: https://bugs.webkit.org/show_bug.cgi?id=36381
Great! Thanks a lot
Created attachment 224299 [details] Patch to fix compile with icu4
compiles fine with patch, found on freebsd ports. Minimal testing with epiphany done. found here: http://old.nabble.com/ports-143718:--PATCH--ports-www-webkit-gtk2-(build-failure-with-icu-4.3.3-(error-in-TextBreakIteratorICU.cpp))-td27526895.html
The patch WFM as well... thanks! On a side note, when touching the package, could you mute the crapload of QA warnings by append-flags -fno-strict-aliasing please? :)
webkit-1.1.90 has been fixed in gnome-overlay. > On a side note, when touching the package, could you mute the crapload of QA > warnings by append-flags -fno-strict-aliasing please? :) > Those warnings are there with a reason...
(In reply to comment #10) > Those warnings are there with a reason... Those warnings are there so that the upstream developer would notice them and fix them. -fno-strict-aliasing disables -fstrict-aliasing and muting the noise is merely a side-effect (cf. man gcc).
*** Bug 310323 has been marked as a duplicate of this bug. ***
(In reply to comment #10) > webkit-1.1.90 has been fixed in gnome-overlay. no it's not. The apply the icu-4.4 patch unconditionally, even if icu-4.2.1 is installed. icu-4.4 should be a dep there. or a has_version icu-4.4 condition for the patch.
(In reply to comment #13) > (In reply to comment #10) > > webkit-1.1.90 has been fixed in gnome-overlay. > no it's not. The apply the icu-4.4 patch unconditionally, even if icu-4.2.1 is > installed. icu-4.4 should be a dep there. or a has_version icu-4.4 condition > for the patch. If you are referring to bug 310323, then he is compiling against icu-4.4 there... Just check the error messages.
You can check U_ICU_VERSION_MAJOR_NUM and U_ICU_VERSION_MINOR_NUM, which are defined in unicode/uvernum.h: #if U_ICU_VERSION_MAJOR_NUM >= 5 || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 4) typedef struct UBreakIterator TextBreakIterator; #else class TextBreakIterator; #endif
(In reply to comment #15) > You can check U_ICU_VERSION_MAJOR_NUM and U_ICU_VERSION_MINOR_NUM, which are > defined in unicode/uvernum.h: > > #if U_ICU_VERSION_MAJOR_NUM >= 5 || (U_ICU_VERSION_MAJOR_NUM == 4 && > U_ICU_VERSION_MINOR_NUM >= 4) > typedef struct UBreakIterator TextBreakIterator; > #else > class TextBreakIterator; > #endif > Doesn't this cause a runtime incompatibility when compile with one version of icu and run with another? If so I'd vote for an RDEPEND bump at least for the overlay version.
(In reply to comment #16) > Doesn't this cause a runtime incompatibility when compile with one version of > icu and run with another? > If so I'd vote for an RDEPEND bump at least for the overlay version. The icu sonames changed, so you'll have to run "revdep-rebuild" with portage 2.1 or emerge @preserved-rebuild with portage 2.2 in any case. The source code incompatibility shouldn't make this any worse than it already is.
Created attachment 224433 [details, diff] webkit-icu-compat-portage.patch Would be nice if someone could test it against <icu-4.4
*** Bug 310565 has been marked as a duplicate of this bug. ***
Thanks for the patch. It works ... or at least, gimp, epiphany and midori seem to be accepting of the results.
Also works with the old icu-4.2, as you might expect with the ifdefs.
(In reply to comment #18) > Created an attachment (id=224433) [details] > webkit-icu-compat-portage.patch > > Would be nice if someone could test it against <icu-4.4 The -r1 ebuild from gnome-overlay w/ this webkit-icu-compat-portage.patch instead of their webkit-gtk-icu4.patch (as in my overlay http://svn.xmw.de/gentoo-overlay/net-libs/webkit-gtk/ ) works on my machines with icu-4.2.1. Hopefully, someone of the gnome overlay maintainers reads this ... It's a 11min emerge on my quad core and a build fail really sucks. Btw. there is no need for icu-4.4 from this package, isn't it? It only states >icu-3.8.... Bye
I revbumped webkit-gtk-1.1.90-r1 last night with better fix (one that was acked by upstream).
(In reply to comment #23) > I revbumped webkit-gtk-1.1.90-r1 last night with better fix (one that was acked > by upstream). > Will this go to the main tree soon, or...?
mv -f WebCore/platform/text/.deps/libWebCore_la-StringImpl.Tpo WebCore/platform/text/.deps/libWebCore_la-StringImpl.Plo ./doltlibtool --tag=CXX --mode=compile i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DWTF_USE_ICU_UNICODE=1 -DNDEBUG -I./WebCore -I./WebCore/accessibility -I./WebCore/bindings/js -I./WebCore/bridge -I./WebCore/bridge/c -I./WebCore/css -I./WebCore/dom -I./WebCore/dom/default -I./WebCore/editing -I./WebCore/history -I./WebCore/html -I./WebCore/html/canvas -I./WebCore/inspector -I./WebCore/loader -I./WebCore/loader/appcache -I./WebCore/loader/archive -I./WebCore/loader/icon -I./WebCore/notifications -I./WebCore/page -I./WebCore/page/animation -I./WebCore/platform -I./WebCore/platform/animation -I./WebCore/platform/graphics -I./WebCore/platform/graphics/filters -I./WebCore/platform/graphics/transforms -I./WebCore/platform/image-decoders -I./WebCore/platform/image-decoders/bmp -I./WebCore/platform/image-decoders/gif -I./WebCore/platform/image-decoders/ico -I./WebCore/platform/image-decoders/jpeg -I./WebCore/platform/image-decoders/png -I./WebCore/platform/image-decoders/xbm -I./WebCore/platform/mock -I./WebCore/platform/network -I./WebCore/platform/text -I./WebCore/plugins -I./WebCore/rendering -I./WebCore/rendering/style -I./WebCore/workers -I./WebCore/xml -I./WebCore/bindings/js -DDATA_DIR=\"/usr/share\" -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_DATAGRID=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DASHBOARD_SUPPORT=1 -DENABLE_DATABASE=1 -I./WebCore/platform/sql -I./WebCore/storage -DENABLE_DATALIST=1 -DENABLE_EVENTSOURCE=1 -DENABLE_DOM_STORAGE=1 -I./WebCore/storage -DENABLE_ICONDATABASE=1 -DENABLE_VIDEO=1 -DENABLE_RUBY=1 -DENABLE_XPATH=1 -DENABLE_XSLT=1 -DENABLE_WORKERS=1 -DENABLE_FILTERS=1 -DENABLE_SVG=1 -I./WebCore/svg -I./WebCore/svg/animation -I./WebCore/svg/graphics -I./WebCore/svg/graphics/filters -DENABLE_SVG_USE=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_ANIMATION=1 -DENABLE_WEB_SOCKETS=1 -I./WebCore/websockets -DWTF_USE_SOUP=1 -DENABLE_PLUGIN_PACKAGE_SIMPLE_HASH=1 -I./WebCore/accessibility/gtk -I./WebCore/loader/gtk -I./WebCore/page/gtk -I./WebCore/platform/graphics/cairo -I./WebCore/platform/graphics/gtk -I./WebCore/platform/gtk -I./WebCore/platform/network/soup -DUSE_FREETYPE=1 -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/parser -I./JavaScriptCore/wtf -I./DerivedSources -I./JavaScriptCore -I./JavaScriptCore/API -I./JavaScriptCore/ForwardingHeaders -I./JavaScriptCore/interpreter -I./JavaScriptCore/bytecode -I./JavaScriptCore/bytecompiler -I./JavaScriptCore/debugger -I./JavaScriptCore/jit -I./JavaScriptCore/pcre -I./JavaScriptCore/profiler -I./JavaScriptCore/runtime -I./JavaScriptCore/wrec -I./JavaScriptCore/jit -I./JavaScriptCore/assembler -I./JavaScriptCore/wtf/unicode -I./JavaScriptCore/yarr -I./JavaScriptCore/pcre -I./JavaScriptCore/parser -I./JavaScriptCore/runtime -DXP_UNIX -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-rtti -fno-strict-aliasing -I/usr/include/enchant -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gail-1.0 -I/usr/include/atk-1.0 -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/libxml2 -I/usr/include -O2 -march=pentium-m -pipe -fno-ident -fomit-frame-pointer -MT WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo -MD -MP -MF WebCore/platform/text/.deps/libWebCore_la-TextBoundariesICU.Tpo -c -o WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo `test -f 'WebCore/platform/text/TextBoundariesICU.cpp' || echo './'`WebCore/platform/text/TextBoundariesICU.cpp WebCore/platform/text/TextBoundariesICU.cpp: In function ‘int WebCore::findNextWordFromIndex(const UChar*, int, int, bool)’: WebCore/platform/text/TextBoundariesICU.cpp:39: error: cannot convert ‘WebCore::TextBreakIterator*’ to ‘UBreakIterator*’ in initialization WebCore/platform/text/TextBoundariesICU.cpp: In function ‘void WebCore::findWordBoundary(const UChar*, int, int, int*, int*)’: WebCore/platform/text/TextBoundariesICU.cpp:70: error: cannot convert ‘WebCore::TextBreakIterator*’ to ‘UBreakIterator*’ in initialization make[1]: *** [WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo] Error 1 Same here ~x86 1.1.15.4, icu 4.4.
net-libs/webkit-gtk maintainers: Can I commit the patch?
*** Bug 310507 has been marked as a duplicate of this bug. ***
*** Bug 310505 has been marked as a duplicate of this bug. ***
Looks like my comment didn't made it the first time. I'd like plaes to provide a patch suited for the tree if there's something in the upstream changes that is needed over the currently attached patch. Then we can apply.
Created attachment 225191 [details, diff] changeset_r56345.patch This was committed upstream (but I haven't had a chance to test it against 1.1.15.4) I also edited out the changelog so it would apply...
Created attachment 225299 [details, diff] Backport of r56345 for webkit-gtk-1.1.15.4 (In reply to comment #30) > This was committed upstream (but I haven't had a chance to test it against > 1.1.15.4) Unfortunately, it cannot be applied to 1.1.15.4. Attached is my backport of the webkit trunk patch to webkit-gtk-1.1.15.4 (TextBreakIteratorICU.cpp in 1.1.15.4 is somewhat different from the trunk, and TextBoundariesICU.cpp in 1.1.15.4 does not exist in the trunk). The backported patch applies and webkit-gtk-1.1.15.4 compiles; tested with epiphany-2.28.2, everything seems to work OK.
(In reply to comment #31) > Created an attachment (id=225299) [details] > Backport of r56345 for webkit-gtk-1.1.15.4 This patch seems to works for me. Thanks.
*** Bug 309339 has been marked as a duplicate of this bug. ***
The new ICU is in the main tree and webkit-gtk is not patched there. Please apply the patch to the version that is in ~amd64 or bring in a new one.
(In reply to comment #31) > Created an attachment (id=225299) [details] > Backport of r56345 for webkit-gtk-1.1.15.4 > This patch is working for me thanks.
+ 29 Mar 2010; Gilles Dartiguelongue <eva@gentoo.org> + webkit-gtk-1.1.15.4.ebuild, +files/webkit-gtk-1.1.15.4-icu44.patch: + Fix build with icu-4.4, bug #308699. + Fixed without a bump since this fix builds fine with older icu releases. Thanks all.