Hi Emmanuel,

jfx8u40/WebView (libjfxwebkit.so) doesn't link with icu lib, however it has that option and so it contains all the related headers which it nevertheless uses during the build process.

UChar32 was defined as unsigned in older icu versions and it is still that in the jfx8u40/WebView sources.

As to the failure you've encountered. It seems like you have libxml2 on your system which was compiled/installed with icu-enabled option. I'm afraid you should recompile it with icu disabled in order to build WebView.

There's a similar issue reported against Qt WebKit port: 
https://bugs.webkit.org/show_bug.cgi?id=82824

Thanks,
Anton.

On 04.03.2015 17:50, Kevin Rushforth wrote:
Anton Tarasov or Andrew Brygin might be able to provide an answer for you, although our effort recently has been focused on getting the updated C++11-based WebKit to build.

-- Kevin


Emmanuel Bourg wrote:
Hi Kevin,

I'm updating the OpenJFX package in Debian to the version 8u40-b25
and I get a compilation failure on WebKit:

    In file included from /usr/include/x86_64-linux-gnu/unicode/utypes.h:36:0,
                     from /usr/include/x86_64-linux-gnu/unicode/ucnv_err.h:86,
                     from /usr/include/x86_64-linux-gnu/unicode/ucnv.h:50,
                     from /usr/include/libxml2/libxml/encoding.h:31,
                     from /usr/include/libxml2/libxml/parser.h:810,
                     from 
../../../../src/main/native/Source/WebCore/xml/XSLStyleSheet.h:32,
                     from 
../../../../src/main/native/Source/WebCore/xml/XSLTProcessor.h:29,
                     from generated/JSXSLTProcessor.h:27,
                     from generated/JSXSLTProcessor.cpp:25:
/usr/include/x86_64-linux-gnu/unicode/umachine.h:298:17: error: conflicting declaration ‘typedef int32_t UChar32’
     typedef int32_t UChar32;
                     ^
    In file included from 
../../../../src/main/native/Source/WTF/wtf/unicode/Unicode.h:36:0,
                     from 
../../../../src/main/native/Source/WTF/wtf/text/ASCIIFastPath.h:31,
                     from 
../../../../src/main/native/Source/WTF/wtf/text/WTFString.h:28,
                     from 
../../../../src/main/native/Source/WTF/wtf/DateMath.h:54,
                     from 
../../../../src/main/native/Source/WebCore/webcorejava_pch.h:57:
../../../../src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h:24:18: note: previous declaration as ‘typedef uint32_t UChar32’
     typedef uint32_t UChar32;
                      ^

It seems UnicodeJava.h and UnicodeWchar.h define UChar32 as an unsigned int32
whereas icu defines it as a signed int32.

Emmanuel Bourg


Reply via email to