Qt 5.3.0 on a olinuxino a10-lime build error



  • Hi all

    I'm trying to compile latest qt 5.3.0 on a olinuxino a10-lime... but it fails with the followind error:

    @In file included from ../../include/QtCore/qtextstream.h:1:0,
    from ../../include/QtCore/../../src/corelib/io/qdebug.h:50,
    from ../../include/QtCore/qdebug.h:1,
    from ../../include/QtCore/QDebug:1,
    from eglconvenience/qeglplatformcontext.cpp:47:
    ../../include/QtCore/../../src/corelib/io/qtextstream.h:54:2: error: #error qtextstream.h must be included before any header file that defines Status
    @

    I've try with different configuration flags but with no success... latest was:

    ./configure -release -opensource -confirm-license -no-cups -no-pch -opengl es2 -no-directfb -no-compile-examples -no-largefile -nomake examples

    and gives the following report:

    @ Configure summary

    Build type: linux-g++ (arm, CPU features:)
    Platform notes:

            - Also available for Linux: linux-kcc linux-icc linux-cxx
    

    Build options:
    Configuration .......... accessibility accessibility-atspi-bridge alsa audio-backend c++11 clock-gettime clock-monotonic concurrent dbus egl eglfs egl_x11 evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib iconv icu inotify ipv6ifname large-config libudev linuxfb medium-config minimal-config mremap nis no-harfbuzz opengl opengles2 openssl pcre png posix_fallocate pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib xcb xcb-glx xcb-plugin xcb-render xcb-xlib xinput2 xkbcommon-qt xlib xrender
    Build parts ............ libs tools
    Mode ................... release
    Using C++11 ............ yes
    Using PCH .............. no
    Target compiler supports:
    iWMMXt/Neon .......... no/auto

    Qt modules and options:
    Qt D-Bus ............... yes (loading dbus-1 at runtime)
    Qt Concurrent .......... yes
    Qt GUI ................. yes
    Qt Widgets ............. yes
    Large File ............. no
    QML debugging .......... yes
    Use system proxies ..... no

    Support enabled for:
    Accessibility .......... yes
    ALSA ................... yes
    CUPS ................... no
    Evdev .................. yes
    FontConfig ............. yes
    FreeType ............... yes (system library)
    Glib ................... yes
    GTK theme .............. no
    HarfBuzz ............... no
    Iconv .................. yes
    ICU .................... yes
    Image formats:
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
    journald ............... no
    mtdev .................. no
    Networking:
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    OpenSSL .............. yes (loading libraries at run-time)
    NIS .................... yes
    OpenGL / OpenVG:
    EGL .................. yes
    OpenGL ............... yes (OpenGL ES 2.x)
    OpenVG ............... no
    PCRE ................... yes (bundled copy)
    pkg-config ............. yes
    PulseAudio ............. yes
    QPA backends:
    DirectFB ............. no
    EGLFS ................ yes
    KMS .................. no
    LinuxFB .............. yes
    XCB .................. yes (system library)
    EGL on X ........... yes
    GLX ................ yes
    MIT-SHM ............ yes
    Xcb-Xlib ........... yes
    Xcursor ............ yes (loaded at runtime)
    Xfixes ............. yes (loaded at runtime)
    Xi ................. no
    Xi2 ................ yes
    Xinerama ........... yes (loaded at runtime)
    Xrandr ............. yes (loaded at runtime)
    Xrender ............ yes
    XKB ................ no
    XShape ............. yes
    XSync .............. yes
    XVideo ............. yes
    Session management ..... yes
    SQL drivers:
    DB2 .................. no
    InterBase ............ no
    MySQL ................ yes (plugin)
    OCI .................. no
    ODBC ................. yes (plugin)
    PostgreSQL ........... yes (plugin)
    SQLite 2 ............. yes (plugin)
    SQLite ............... yes (plugin, using bundled copy)
    TDS .................. yes (plugin)
    udev ................... yes
    xkbcommon .............. yes (bundled copy, XKB config root: /usr/share/X11/xkb)
    zlib ................... yes (system library)

    NOTE: libxkbcommon and libxkbcommon-x11 0.4.1 or higher not found on the system, will use
    the bundled version from 3rd party directory.
    NOTE: Qt is using double for qreal on this system. This is binary incompatible against Qt 5.1.
    Configure with '-qreal float' to create a build that is binary compatible with 5.1.
    Info: creating super cache file /home/olimex/qt-everywhere-opensource-src-5.3.0/.qmake.super
    @

    any ideas on what I am missing ?

    thanks in advance

           Giampaolo


  • sorry, mistake here.



  • Hi, try the following and see if it helps:

    edit
    qtbase/src/platformsupport/eglconvenience/qeglplatformcontext.cpp

    and add the include in bold at the top of the include list:

    #include <QtCore/qtextstream.h>
    #include "qeglplatformcontext_p.h"

    ...and since you're using an olinuxino a10, if it's sunxi-mali and you get into more trouble down the road, consider the following "dirty hacks" as well - add the block definitions:

    qtbase/src/gui/kernel/qplatformcursor.h

    #include <QtGui/QCursor>
    @

    ifdef CursorShape

    define X_CursorShape CursorShape

    undef CursorShape

    endif@

    QT_BEGIN_NAMESPACE

    qtbase/src/platformsupport/eglconvenience/qeglplatformcursor.cpp

    #include "qeglplatformintegration_p.h"

    @# ifdef CursorShape

    define X_CursorShape CursorShape

    undef CursorShape

    endif

    @
    QT_BEGIN_NAMESPACE



  • Hello wickwire

    I've try again applying your patch and it compile without errors... but starting my apps results in:

    ./myapp -platform eglfs

    EGL Error : Could not create the egl surface: error = 0x300b
    Aborted

    frame buffer is ok now as fbi or qt5 with framebuffer works fine...

    thanks for the help

         Giampaolo
    


  • Hi,

    since you're trying it with EGLFS, try the following:

    in the following file, modify the following function:

    qtbase/src/plugins/platforms/eglfs/qeglfshooks_stub.cpp

    @EGLNativeWindowType QEglFSHooks::createNativeWindow(QPlatformWindow *platformWindow,
    const QSize &size,
    const QSurfaceFormat &format)
    {
    Q_UNUSED(platformWindow);
    Q_UNUSED(size);
    Q_UNUSED(format);
    //return 0;

    static struct mali_native_window native_window = {
        .width = (short unsigned int)size.width(),
        .height = (short unsigned int)size.height(),
    };
    return &native_window;
    

    }@


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.