RPI2 eglfs build error with QT master
-
Hello, I have been working to figure this out now for a bit, but can't seem to track down the issue. See below for config output, configure line, and error. Basically, the RPI eglfs code won't build, and I think it's failing out on the Q_CORE_EXPORT definition, but that isn't exactly what the compiler is complaining about. I haven't seen this error anywhere else on the web though. The actual error seems to be in the middle of the enum, which makes no sense. Has anyone seen this? I'd like to have EGLFS as I'm putting together a small Kiosk app that would look nice with the acceleration if possible.
This is an attempt to cross compile on Fedora for Wheezy latest for the RPI2. I'm going to try Jessie this weekend to see if that works better. I'm also going to see if building 5.5.1 works later today.
[xxx@localhost qt5]$ /opt/linaro/bin/arm-linux-gnueabihf-g++ -v
Using built-in specs.
COLLECT_GCC=/opt/linaro/bin/arm-linux-gnueabihf-g++
COLLECT_LTO_WRAPPER=/home/buelowp/Projects/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/src/gcc-linaro-4.8-2014.03/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install --with-sysroot=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv6 --with-tune=arm1176jz-s --with-fpu=vfp --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/home/zhehe01/work/bzr/pi-build/builds/arm-linux-gnueabihf-raspbian-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-float=hard
Thread model: posix
gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03)./configure -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=$RPI_TOOLCHAIN -sysroot $RPI_SYSROOT -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix $RPI_SYSROOT/opt/qt5 -skip qtwebkit -qt-xcb -nomake tests -skip qttools
Configure summary
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: devices/linux-rasp-pi2-g++ (arm, CPU features: neon)
Platform notes:- Also available for Linux: linux-clang linux-kcc linux-icc linux-cxx
Build options:
Configuration .......... accessibility accessibility-atspi-bridge alsa audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile dbus dbus-linked egl eglfs eglfs_brcm enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs glib harfbuzz iconv inotify ipv6ifname large-config largefile linuxfb medium-config minimal-config mremap mtdev neon nis opengl opengles2 openssl pcre png posix_fallocate precompile_header pulseaudio qpa qpa reduce_exports release rpath shared small-config system-freetype system-jpeg system-png system-zlib threadsafe-cloexec tslib use_gold_linker xcb xcb-plugin xcb-qt xcb-sm xcb-xlib xkbcommon-qt xlib
Build parts ............ libs
Mode ................... release
Using sanitizer(s)...... none
Using C++ standard ..... c++11
Using gold linker....... yes
Using new DTAGS ........ yes
Using PCH .............. yes
Target compiler supports:
Neon ................. yesQt modules and options:
Qt D-Bus ............... yes (linked to dbus-1)
Qt Concurrent .......... yes
Qt GUI ................. yes
Qt Widgets ............. yes
Large File ............. yes
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
GStreamer .............. no
GTK theme .............. no
HarfBuzz ............... yes (bundled copy)
Iconv .................. yes
ICU .................... no
Image formats:
GIF .................. yes (plugin, using bundled copy)
JPEG ................. yes (plugin, using system library)
PNG .................. yes (in QtGui, using system library)
libinput................ no
Logging backends:
journald ............... no
syslog ............... no
mtdev .................. yes (system library)
Networking:
getaddrinfo .......... yes
getifaddrs ........... yes
IPv6 ifname .......... yes
libproxy.............. no
OpenSSL .............. yes (loading libraries at run-time)
NIS .................... yes
OpenGL / OpenVG:
EGL .................. yes
OpenGL ............... yes (OpenGL ES 2.0+)
OpenVG ............... no
PCRE ................... yes (bundled copy)
pkg-config ............. yes
PulseAudio ............. yes
QPA backends:
DirectFB ............. no
EGLFS ................ yes
EGLFS i.MX6 ........ no
EGLFS EGLDevice .... no
EGLFS GBM .......... no
EGLFS Mali ......... no
EGLFS Raspberry Pi . yes
EGLFS X11 .......... no
LinuxFB .............. yes
Mir client............ no
XCB .................. yes (bundled copy)
EGL on X ........... no
GLX ................ no
MIT-SHM ............ yes
Xcb-Xlib ........... yes
Xcursor ............ yes (loaded at runtime)
Xfixes ............. yes (loaded at runtime)
Xi ................. yes (loaded at runtime)
Xi2 ................ no
Xinerama ........... yes (loaded at runtime)
Xrandr ............. yes (loaded at runtime)
Xrender ............ no
XKB ................ yes
XShape ............. yes
XSync .............. yes
XVideo ............. yes
Session management ..... yes
SQL drivers:
DB2 .................. no
InterBase ............ no
MySQL ................ no
OCI .................. no
ODBC ................. no
PostgreSQL ........... no
SQLite 2 ............. no
SQLite ............... yes (plugin, using bundled copy)
TDS .................. no
tslib .................. yes
udev ................... no
xkbcommon-x11........... yes (bundled copy, XKB config root: /usr/share/X11/xkb)
xkbcommon-evdev......... no
zlib ................... yes (system library)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/buelowp/Projects/rpi/qt5.6/.qmake.superQt is now configured for building. Just run 'gmake'.
Once everything is built, you must run 'gmake install'.
Qt will be installed into /home/buelowp/Projects/rpi/rootfs/opt/qt5Prior to reconfiguration, make sure you remove any leftovers from
the previous build./opt/linaro/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -marm -mthumb-interwork -mfpu=neon-vfpv4 -mtune=cortex-a7 -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/home/buelowp/Projects/rpi/rootfs -O2 -std=c++0x -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_LIBINPUT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_EGLFS_DEVICE_LIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../eglfs -isystem /home/buelowp/Projects/rpi/rootfs/usr/include/libdrm -I../../../../../../include -I../../../../../../include/QtPlatformSupport -I../../../../../../include/QtPlatformSupport/5.6.0 -I../../../../../../include/QtPlatformSupport/5.6.0/QtPlatformSupport -I../../../../../../include/QtGui/5.6.0 -I../../../../../../include/QtGui/5.6.0/QtGui -I/home/buelowp/Projects/rpi/qt5/qtbase/include/QtQGui -I../../../../../../include/QtGui -I../../../../../../include/QtCore/5.6.0 -I../../../../../../include/QtCore/5.6.0/QtCore -I../../../../../../include/QtCore -I.moc -I../../../../../../mkspecs/devices/linux-rasp-pi2-g++ -o .obj/qeglfsbrcmmain.o qeglfsbrcmmain.cpp
In file included from /home/buelowp/Projects/rpi/rootfs/usr/include/EGL/eglplatform.h:118:0,
from /home/buelowp/Projects/rpi/rootfs/usr/include/EGL/egl.h:36,
from ../../../eglfs/qeglfsdeviceintegration.h:53,
from qeglfsbrcmmain.cpp:34:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:62:9: error: expected identifier before
'int'
Bool = 0x1,
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:62:9: error: expected â}â before âintâ
In file included from ../../../../../../include/QtCore/qjsonvalue.h:1:0,
from ../../../../../../include/QtCore/../../src/corelib/json/qjsonobject.h:37,
from ../../../../../../include/QtCore/qjsonobject.h:1,
from ../../../../../../include/QtCore/../../src/corelib/plugin/qplugin.h:39,
from ../../../../../../include/QtCore/qplugin.h:1,
from .moc/qeglfsbrcmmain.moc:11,
from qeglfsbrcmmain.cpp:50:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:62:14: error: expected unqualified-id before â=â token
Bool = 0x1,
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:70:21: error: expected â)â before â=â token
QJsonValue(Type = Null);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:71:16: error: expected unqualified-id before âboolâ
QJsonValue(bool b);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:71:16: error: expected â)â before âboolâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:72:16: error: expected unqualified-id before âdoubleâ
QJsonValue(double n);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:72:16: error: expected â)â before âdoubleâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:73:16: error: expected unqualified-id before âintâ
QJsonValue(int n);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:73:16: error: expected â)â before âintâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:74:23: error: expected â)â before ânâ
QJsonValue(qint64 n);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:75:16: error: expected unqualified-id before âconstâ
QJsonValue(const QString &s);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:75:16: error: expected â)â before âconstâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:76:30: error: expected â)â before âsâ
QJsonValue(QLatin1String s);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:78:42: error: expected unqualified-id before âconstâ
inline QT_ASCII_CAST_WARN QJsonValue(const char s)
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:78:42: error: expected â)â before âconstâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:81:16: error: expected unqualified-id before âconstâ
QJsonValue(const QJsonArray &a);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:81:16: error: expected â)â before âconstâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:82:16: error: expected unqualified-id before âconstâ
QJsonValue(const QJsonObject &o);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:82:16: error: expected â)â before âconstâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:84:18: error: expected constructor, destructor, or type conversion before â;â token
~QJsonValue();
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:86:16: error: expected unqualified-id before âconstâ
QJsonValue(const QJsonValue &other);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:86:16: error: expected â)â before âconstâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:87:51: error: âQJsonValue& operator=(const QJsonValue&)â must be a nonstatic member function
QJsonValue &operator =(const QJsonValue &other);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:90:26: error: non-member function âQVariant toVariant()â cannot have cv-qualifier
QVariant toVariant() const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:92:5: error: âTypeâ does not name a type
Type type() const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:93:26: error: non-member function âbool isNull()â cannot have cv-qualifier
inline bool isNull() const { return type() == Null; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isNull()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:93:46: error: âtypeâ was not declared in this scope
inline bool isNull() const { return type() == Null; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:93:51: error: âNullâ was not declared in this scope
inline bool isNull() const { return type() == Null; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:94:26: error: non-member function âbool isBool()â cannot have cv-qualifier
inline bool isBool() const { return type() == Bool; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isBool()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:94:46: error: âtypeâ was not declared in this scope
inline bool isBool() const { return type() == Bool; }
^
In file included from /home/buelowp/Projects/rpi/rootfs/usr/include/EGL/eglplatform.h:118:0,
from /home/buelowp/Projects/rpi/rootfs/usr/include/EGL/egl.h:36,
from ../../../eglfs/qeglfsdeviceintegration.h:53,
from qeglfsbrcmmain.cpp:34:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:94:51: error: expected primary-expression before âintâ
inline bool isBool() const { return type() == Bool; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:94:51: error: expected â;â before âintâ
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:94:51: error: declaration does not declare anything [-fpermissive]
In file included from ../../../../../../include/QtCore/qjsonvalue.h:1:0,
from ../../../../../../include/QtCore/../../src/corelib/json/qjsonobject.h:37,
from ../../../../../../include/QtCore/qjsonobject.h:1,
from ../../../../../../include/QtCore/../../src/corelib/plugin/qplugin.h:39,
from ../../../../../../include/QtCore/qplugin.h:1,
from .moc/qeglfsbrcmmain.moc:11,
from qeglfsbrcmmain.cpp:50:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:95:28: error: non-member function âbool isDouble()â cannot have cv-qualifier
inline bool isDouble() const { return type() == Double; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isDouble()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:95:48: error: âtypeâ was not declared in this scope
inline bool isDouble() const { return type() == Double; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:95:53: error: âDoubleâ was not declared in this scope
inline bool isDouble() const { return type() == Double; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:96:28: error: non-member function âbool isString()â cannot have cv-qualifier
inline bool isString() const { return type() == String; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isString()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:96:48: error: âtypeâ was not declared in this scope
inline bool isString() const { return type() == String; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:96:53: error: âStringâ was not declared in this scope
inline bool isString() const { return type() == String; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:97:27: error: non-member function âbool isArray()â cannot have cv-qualifier
inline bool isArray() const { return type() == Array; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isArray()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:97:47: error: âtypeâ was not declared in this scope
inline bool isArray() const { return type() == Array; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:97:52: error: âArrayâ was not declared in this scope
inline bool isArray() const { return type() == Array; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:97:52: note: suggested alternative:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:52:11: note: âQJsonPrivate::Arrayâ
class Array;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:98:28: error: non-member function âbool isObject()â cannot have cv-qualifier
inline bool isObject() const { return type() == Object; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isObject()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:98:48: error: âtypeâ was not declared in this scope
inline bool isObject() const { return type() == Object; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:98:53: error: âObjectâ was not declared in this scope
inline bool isObject() const { return type() == Object; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:98:53: note: suggested alternative:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:50:11: note: âQJsonPrivate::Objectâ
class Object;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:99:31: error: non-member function âbool isUndefined()â cannot have cv-qualifier
inline bool isUndefined() const { return type() == Undefined; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: In function âbool isUndefined()â:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:99:51: error: âtypeâ was not declared in this scope
inline bool isUndefined() const { return type() == Undefined; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:99:56: error: âUndefinedâ was not declared in this scope
inline bool isUndefined() const { return type() == Undefined; }
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h: At global scope:
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:101:44: error: non-member function âbool toBool(bool)â cannot have cv-qualifier
bool toBool(bool defaultValue = false) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:102:37: error: non-member function âint toInt(int)â cannot have cv-qualifier
int toInt(int defaultValue = 0) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:103:46: error: non-member function âdouble toDouble(double)â cannot have cv-qualifier
double toDouble(double defaultValue = 0) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:104:63: error: non-member function âQString toString(const QString&)â cannot have cv-qualifier
QString toString(const QString &defaultValue = QString()) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:105:26: error: non-member function âQJsonArray toArray()â cannot have cv-qualifier
QJsonArray toArray() const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:106:56: error: non-member function âQJsonArray toArray(const QJsonArray&)â cannot have cv-qualifier
QJsonArray toArray(const QJsonArray &defaultValue) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:107:28: error: non-member function âQJsonObject toObject()â cannot have cv-qualifier
QJsonObject toObject() const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:108:59: error: non-member function âQJsonObject toObject(const QJsonObject&)â cannot have cv-qualifier
QJsonObject toObject(const QJsonObject &defaultValue) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:110:46: error: non-member function âbool operator==(const QJsonValue&)â cannot have cv-qualifier
bool operator==(const QJsonValue &other) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:110:46: error: âbool operator==(const QJsonValue&)â must take exactly two arguments
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:111:46: error: non-member function âbool operator!=(const QJsonValue&)â cannot have cv-qualifier
bool operator!=(const QJsonValue &other) const;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:111:46: error: âbool operator!=(const QJsonValue&)â must take exactly two arguments
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:113:1: error: expected unqualified-id before âprivateâ
private:
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:116:5: error: âfriendâ used outside of class
friend class QJsonPrivate::Value;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:116:32: warning: declaration âclass QJsonPrivate::Valueâ does not declare anything [enabled by default]
friend class QJsonPrivate::Value;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:117:5: error: âfriendâ used outside of class
friend class QJsonArray;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:118:5: error: âfriendâ used outside of class
friend class QJsonObject;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:119:5: error: âfriendâ used outside of class
friend Q_CORE_EXPORT QDebug operator<<(QDebug, const QJsonValue &);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:121:35: error: expected â)â before ââ token
QJsonValue(QJsonPrivate::Data *d, QJsonPrivate::Base *b, const QJsonPrivate::Value& v);
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:132:5: error: namespace-scope anonymous aggregates must be static
};
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:134:5: error: âTypeâ does not name a type
Type t;
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:135:1: error: expected declaration before â}â token
};
^
../../../../../../include/QtCore/../../src/corelib/json/qjsonvalue.h:89:23: warning: âQJsonValue fromVariant(const QVariant&)â declared âstaticâ but never defined [-Wunused-function]
static QJsonValue fromVariant(const QVariant &variant);
^
make: *** [.obj/qeglfsbrcmmain.o] Error 1 -
So, this error follows the Bool term in the enum, so I suspect it's a something of a symbol contention problem, but I haven't had time to try to track it down yet. Jessie has the same build error as Wheezy. The JSON stuff builds just fine outside of this context, so it's definitely a problem with the RPI EGLFS code and how everything is included. You can build the whole QT 5 fully if you disable EGLFS Raspberry PI. So, this is a bug with QT. I'll look into a way to file that later. If anyone can come up with a patch, I would very much appreciate it.
-
I had the same when cross compiling Qt 5.5/5.6. It is the Null and Bool enums of corelib/json/qjsonvalue.h causing the problem. I don't know why, as QChar has a similair enum type.
Strange thing is that when I first added QT_BEGIN_HEADER (which I saw in QChar and thought it was maybe missing :-) to qjsonvalue.h, aborted the started compilation and commented the QT_BEGIN_HEADER, the next compilation passed on till the end; no errors!?
Maybe there is a compile sequence fault and after touching qjsonvalue.h -which causes the json stuff to be recompiled- everything goes OK???
Just to let you know...for what it is worth :-)
-
You have Mesa's EGL headers in /usr/include which get picked up in place of the Broadcom ones. This is not necessarily fatal but you need to add DEFINES += MESA_EGL_NO_X11_HEADERS in qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro