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/autoQt 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 ..... noSupport 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
-
Hi, try the following and see if it helps:
edit
qtbase/src/platformsupport/eglconvenience/qeglplatformcontext.cppand 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
Abortedframe 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;
}@