Qt5.4 qtwebkit build error with GRefPtr.cpp



  • Hi all:

    I use qt5.4 cross compile with Freescale imx6.

    But, all modules is success install in my embedded board(Freescale imx6).
    Only qtwebkit and qtwebengine !!

    When I into qtwebkit sub-folder, and commad "make"
    It show those error:

    In file included from ./wtf/unicode/Unicode.h:34:0,
    from ./wtf/text/ASCIIFastPath.h:31,
    from ./wtf/text/WTFString.h:28,
    from wtf/DateMath.h:54,
    from wtf/DateMath.cpp:73:
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isAlphanumeric(UChar)':
    ./wtf/unicode/wchar/UnicodeWchar.h:136:58: error: 'iswalnum' was not declared in this scope
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isDigit(UChar)':
    ./wtf/unicode/wchar/UnicodeWchar.h:137:51: error: 'iswdigit' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isLetter(UC
    ./wtf/unicode/wchar/UnicodeWchar.h:138:52: error: 'iswalpha' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isLower(UCh
    ./wtf/unicode/wchar/UnicodeWchar.h:139:51: error: 'iswlower' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isPrintable
    ./wtf/unicode/wchar/UnicodeWchar.h:140:59: error: 'iswprint' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isPunct(UCh
    ./wtf/unicode/wchar/UnicodeWchar.h:141:51: error: 'iswpunct' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isSpace(UCh
    ./wtf/unicode/wchar/UnicodeWchar.h:142:51: error: 'iswspace' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'bool WTF::Unicode::isUpper(UCh
    ./wtf/unicode/wchar/UnicodeWchar.h:143:51: error: 'iswupper' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'UChar WTF::Unicode::foldCase(U
    ./wtf/unicode/wchar/UnicodeWchar.h:148:51: error: 'towlower' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'UChar WTF::Unicode::toLower(UC
    ./wtf/unicode/wchar/UnicodeWchar.h:149:50: error: 'towlower' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'UChar WTF::Unicode::toUpper(UC
    ./wtf/unicode/wchar/UnicodeWchar.h:150:50: error: 'towupper' was not declared i
    ./wtf/unicode/wchar/UnicodeWchar.h: In function 'UChar WTF::Unicode::toTitleCas
    ./wtf/unicode/wchar/UnicodeWchar.h:151:54: error: 'towupper' was not declared i
    In file included from ./wtf/text/ASCIIFastPath.h:31:0,
    from ./wtf/text/WTFString.h:28,
    from wtf/DateMath.h:54,
    from wtf/DateMath.cpp:73:
    ./wtf/unicode/Unicode.h: At global scope:
    ./wtf/unicode/Unicode.h:39:1: error: static assertion failed: "UCharIsTwoBytes"
    make[1]: *** [.obj/wtf/DateMath.o] Error 1
    make[1]: Leaving directory `/home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-ev TF'
    make: *** [sub-Source-WTF-WTF-pro-make_first-ordered] Error 2

    Then, I modify the "UnicodeWchar.h" :

    #ifndef ANDROID

    #include <wctype.h>

    typedef unsigned short int UChar;

    //# include <wchar.h>

    // typedef wchar_t UChar;

    #else

    typedef unsigned short int UChar;

    #endif

    But, when I continue make, it show new error :

    wtf/gobject/GRefPtr.cpp: In function 'T* WTF::refGPtr(T*) [with T = _GVariant]':
    wtf/gobject/GRefPtr.cpp:100:26: error: 'g_variant_ref' was not declared in this scope
    wtf/gobject/GRefPtr.cpp: In function 'void WTF::derefGPtr(T*) [with T = _GVariant]':
    wtf/gobject/GRefPtr.cpp:106:24: error: 'g_variant_unref' was not declared in this scope
    make[1]: *** [.obj/wtf/gobject/GRefPtr.o] Error 1
    make[1]: Leaving directory `/home/peterchiu/FSL_LTIB_3.0.35_QT_5.4/Qt_5.4/qt-everywhere-opensource-src-5.4.0/qtwebkit/Source/WTF'
    make: *** [sub-Source-WTF-WTF-pro-make_first-ordered] Error 2

    How can I do ?
    If you know the answer, please tell me, thanks !



  • @Y.L-Chiu I am also having the same issue. Did you resolved the errors?.



  • @Y.L-Chiu said in Qt5.4 qtwebkit build error with GRefPtr.cpp:

    wtf/gobject/GRefPtr.cpp:100:26: error: 'g_variant_ref' was not declared in this scope

    Looks like your glib installation is broken, or glib is just too old. However, you can build QtWebKit without glib if you don't need GStreamer player


Log in to reply