ports/143718: [PATCH] ports/www/webkit-gtk2 (build failure with icu 4.3.3 (error in TextBreakIteratorICU.cpp))

Andrei Lavreniyuk andy.lavr at reactor-xg.kiev.ua
Wed Feb 10 07:00:07 UTC 2010


>Number:         143718
>Category:       ports
>Synopsis:       [PATCH] ports/www/webkit-gtk2 (build failure with icu 4.3.3 (error in TextBreakIteratorICU.cpp))
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 10 07:00:06 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Andrei Lavreniyuk
>Release:        FreeBSD 8.0-STABLE
>Organization:
Technica-03, Inc.
>Environment:
FreeBSD datacenter.technica-03.local 8.0-STABLE FreeBSD 8.0-STABLE #0: Mon Feb  1 18:17:08 EET 2010     root at datacenter.technica-03.local:/usr/obj/usr/src/sys/SMP64  amd64
>Description:
  CXX    WebCore/platform/text/libWebCore_la-String.lo                                                                                                                                                                                                                         
  CXX    WebCore/platform/text/libWebCore_la-StringBuilder.lo                                                                                                                                                                                                                  
  CXX    WebCore/platform/text/libWebCore_la-StringImpl.lo                                                                                                                                                                                                                     
  CXX    WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo                                                                                                                                                                                                              
  CXX    WebCore/platform/text/libWebCore_la-TextBreakIteratorICU.lo                                                                                                                                                                                                           
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                                                                                                                                     
gmake[1]: *** [WebCore/platform/text/libWebCore_la-TextBoundariesICU.lo] Ошибка 1                                                                                                                                                                                              
gmake[1]: *** Ожидание завершения заданий...                                                                                                                                                                                                                                   
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)'                                                                          
WebCore/platform/text/TextBreakIteratorICU.cpp: In function 'WebCore::TextBreakIterator* WebCore::setUpIteratorWithRules(bool&, WebCore::TextBreakIterator*&, const char*, const UChar*, int)':                                                                                
WebCore/platform/text/TextBreakIteratorICU.cpp:129: error: invalid static_cast from type 'UBreakIterator*' to type 'WebCore::TextBreakIterator*'                                                                                                                               
WebCore/platform/text/TextBreakIteratorICU.cpp:137: error: cannot convert 'WebCore::TextBreakIterator*' to 'UBreakIterator*' for argument '1' to 'void ubrk_setText_43(UBreakIterator*, const UChar*, int32_t, UErrorCode*)'                                                   
gmake[1]: *** [WebCore/platform/text/libWebCore_la-TextBreakIteratorICU.lo] Ошибка 1                                                                                                                                                                                           
gmake[1]: Leaving directory `/usr/ports/www/webkit-gtk2/work/webkit-1.1.15.4'                                                                                                                                                                                                  
gmake: *** [all] Error 2                                                                                                                                                                                                                                                      
*** Error code 1                                                                                                                                                                                                                                                               

Stop in /usr/ports/www/webkit-gtk2.
*** Error code 1                   

Stop in /usr/ports/www/webkit-gtk2.
** Command failed [exit code 1]: /usr/bin/script -qa /var/tmp/portupgrade20100210-52211-1gu87r4-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=webkit-gtk2-1.1.15.4_2 UPGRADE_PORT_VER=1.1.15.4_2 make
** Fix the problem and try again.                                                                                                                                                                  
** Listing the failed packages (-:ignored / *:skipped / !:failed)                                                                                                                                  
        ! www/webkit-gtk2 (webkit-gtk2-1.1.15.4_2)      (unknown build error) 
>How-To-Repeat:
Change to Makefile (ports/www/webkit-gtk2)

-LIB_DEPENDS=   icutu.38:${PORTSDIR}/devel/icu \
+LIB_DEPENDS=   icutu.43:${PORTSDIR}/devel/icu4 \

# portupgrade -o devel/icu4 devel/icu
# cd /usr/ports/www/webkit-gtk2 && make

>Fix:


Patch attached with submission follows:

--- WebCore/platform/text/TextBreakIterator.h.orig	2009-09-22 18:29:21.000000000 +0300
+++ WebCore/platform/text/TextBreakIterator.h	2010-02-10 08:49:59.000000000 +0200
@@ -26,7 +26,7 @@
 
 namespace WebCore {
 
-    class TextBreakIterator;
+    typedef struct UBreakIterator TextBreakIterator;
 
     // Note: The returned iterator is good only until you get another iterator.
 


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list