Important: Please read the Qt Code of Conduct -

Qt 5.5.1 on openSuSE LEAP 15.1 - assertion failed: type_must_have_known_encoded_size

  • OS is openSuSE LEAP 15.1 x86 64-bit with gcc 7.4.0.

    Qt 5.5.1 configure is:

    ./configure -qt-sql-psql -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -qt-xcb -nomake examples -skip qtwebengine -opensource -confirm-license

    Compilation failed here:

    g++ <...snip...> Platform/CoreIPC/ArgumentCoders.cpp
    In file included from ../WTF/wtf/PossiblyNull.h:29:0,
    from ../WTF/wtf/FastMalloc.h:25,
    from ./config.h:89,
    from Platform/CoreIPC/ArgumentCoders.cpp:26:
    Platform/CoreIPC/ArgumentDecoder.h: In instantiation of ‘bool CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain(size_t) const [with T = char16_t; size_t = long unsigned int]’:
    Platform/CoreIPC/ArgumentCoders.cpp:114:9: required from ‘bool CoreIPC::decodeStringText(CoreIPC::ArgumentDecoder&, uint32_t, WTF::String&) [with CharacterType = char16_t; uint32_t = unsigned int]’
    Platform/CoreIPC/ArgumentCoders.cpp:147:59: required from here
    ../WTF/wtf/Assertions.h:314:35: error: static assertion failed: type_must_have_known_encoded_size
    #define COMPILE_ASSERT(exp, name) static_assert((exp), #name)
    Platform/CoreIPC/ArgumentDecoder.h:80:9: note: in expansion of macro ‘COMPILE_ASSERT’
    COMPILE_ASSERT(WTF::IsArithmetic<T>::value, type_must_have_known_encoded_size);
    make[3]: *** [Makefile.WebKit2.Target:4151: .obj/Platform/CoreIPC/ArgumentCoders.o] Error 1
    make[3]: Leaving directory '/usr/local/src/qt-everywhere-opensource-src-5.5.1/qtwebkit/Source/WebKit2'
    make[2]: *** [Makefile.WebKit2:68: sub-Target-pri-make_first-ordered] Error 2
    make[2]: Leaving directory '/usr/local/src/qt-everywhere-opensource-src-5.5.1/qtwebkit/Source/WebKit2'
    make[1]: *** [Makefile:309: sub-Source-WebKit2-WebKit2-pro-make_first-ordered] Error 2
    make[1]: Leaving directory '/usr/local/src/qt-everywhere-opensource-src-5.5.1/qtwebkit'
    make: *** [Makefile:490: module-qtwebkit-make_first] Error 2

    Same exact source compiled fine on CentOS 7.4 with gcc 4.8.5. I presume the problem is related to using a much newer compiler version.

    Anyone run into this issue? Using a newer Qt version may not work for my purpose since Qt 5.5.1 is required by the product I hope to compile once Qt is installed.

Log in to reply