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 ................. yes

    Qt 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 ..... no

    Support 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.super

    Qt 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/qt5

    Prior 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


Log in to reply
 

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