Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt 5.3.0 on a olinuxino a10-lime build error
QtWS25 Last Chance

Qt 5.3.0 on a olinuxino a10-lime build error

Scheduled Pinned Locked Moved Mobile and Embedded
5 Posts 3 Posters 4.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    iw2lsi
    wrote on last edited by
    #1

    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
    
    1 Reply Last reply
    0
    • D Offline
      D Offline
      deleted28
      wrote on last edited by
      #2

      sorry, mistake here.

      1 Reply Last reply
      0
      • W Offline
        W Offline
        wickwire
        wrote on last edited by
        #3

        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

        1 Reply Last reply
        0
        • I Offline
          I Offline
          iw2lsi
          wrote on last edited by
          #4

          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
          
          1 Reply Last reply
          0
          • W Offline
            W Offline
            wickwire
            wrote on last edited by
            #5

            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;
            

            }@

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved