Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-53437

Cross-compilation fails for ARM embedded Toradex Apalis T30 board

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 5.6.0
    • QPA: EGLFS
    • None
    • * Host PC: Ubuntu 15
      * Target: RootFS from the Toradex Apalis T30 (Tegra3) board
      * Toolchain: Linaro gcc linux gnueabihf v 4.9

    Description

      Trying to cross-compile the Qt 5.6.x for the target Toradex (for Tegra3) fails with errors like:

      1)

      ../../include/QtCore/../../src/corelib/io/qtextstream.h:46:2: error: #error qtextstream.h must be included before any header file that defines Status
      

      PS: Similar issues:

      The solution is this:

      builder@tegra-build-server:~/Projects/qt5/qtbase$ git diff /home/builder/Projects/qt5/qtbase/src/platformsupport/eglconvenience/qeglpbuffer_p.h 
      diff --git a/src/platformsupport/eglconvenience/qeglpbuffer_p.h b/src/platformsupport/eglconvenience/qeglpbuffer_p.h
      index 81fdab8..aa79a0a 100644
      --- a/src/platformsupport/eglconvenience/qeglpbuffer_p.h
      +++ b/src/platformsupport/eglconvenience/qeglpbuffer_p.h
      @@ -45,9 +45,9 @@
       // We mean it.
       //
       
      -#include <EGL/egl.h>
       #include <qpa/qplatformoffscreensurface.h>
       #include <QtPlatformSupport/private/qeglplatformcontext_p.h>
      +#include <EGL/egl.h>
       
       QT_BEGIN_NAMESPACE
       
      builder@tegra-build-server:~/Projects/qt5/qtbase$ 
      

      2)

      make[6]: Entering directory '/home/builder/Projects/toradex/qt5-build/qtbase/src/plugins/platforms/eglfs'
      /home/builder/Projects/gcc-linaro-arm-linux-gnueabihf-4.9-2014.05_linux/bin/arm-linux-gnueabihf-g++ -c -pipe -mtune=cortex-a9 -march=armv7-a -mfloat-abi=hard --sysroot=/home/builder/Projects/toradex/rootfs -O2 -std=c++1y -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_BUILD_EGLFS_DEVICE_LIB_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DMESA_EGL_NO_X11_HEADERS -DQT_BUILD_EGL_DEVICE_LIB -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs -I. -I/home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs -isystem /home/builder/Projects/toradex/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../../../../include/QtGui -I../../../../include/QtCore/5.6.0 -I../../../../include/QtCore/5.6.0/QtCore -I../../../../include/QtCore -I.moc -isystem /home/builder/Projects/toradex/rootfs/usr/include -I/home/builder/Projects/qt5/qtbase/mkspecs/devices/linux-tegra3-g++ -o .obj/qeglfsintegration.o /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.cpp
      In file included from /home/builder/Projects/toradex/rootfs/usr/include/X11/Xlib.h:44:0,
                       from /home/builder/Projects/toradex/rootfs/usr/include/EGL/eglplatform.h:118,
                       from /home/builder/Projects/toradex/rootfs/usr/include/EGL/egl.h:36,
                       from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.h:41,
                       from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.cpp:47:
      ../../../../include/QtGui/5.6.0/QtGui/qpa/../../../../../../../../qt5/qtbase/src/gui/kernel/qplatformcursor.h:65:18: error: expected identifier before numeric constant
           void set(Qt::CursorShape);
                        ^
      ../../../../include/QtGui/5.6.0/QtGui/qpa/../../../../../../../../qt5/qtbase/src/gui/kernel/qplatformcursor.h:65:18: error: expected ‘,’ or ‘...’ before numeric constant
      /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfscursor.h:110:13: error: expected unqualified-id before numeric constant
               Qt::CursorShape shape;
                   ^
      In file included from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.cpp:52:0:
      /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfscursor.h: In constructor ‘QEglFSCursor::Cursor::Cursor()’:
      /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfscursor.h:108:32: error: class ‘QEglFSCursor::Cursor’ does not have any field named ‘shape’
               Cursor() : texture(0), shape(Qt::BlankCursor), customCursorTexture(0), customCursorPending(false) { }
                                      ^
      In file included from /home/builder/Projects/toradex/rootfs/usr/include/X11/Xlib.h:44:0,
                       from /home/builder/Projects/toradex/rootfs/usr/include/EGL/eglplatform.h:118,
                       from /home/builder/Projects/toradex/rootfs/usr/include/EGL/egl.h:36,
                       from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.h:41,
                       from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.cpp:47:
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h: At global scope:
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h:407:12: error: expected identifier before numeric constant
           enum { None, Px, Ex, Em } unit;
                  ^
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h:407:12: error: expected ‘}’ before numeric constant
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h:407:12: error: expected unqualified-id before numeric constant
      In file included from ../../../../include/QtGui/5.6.0/QtGui/private/qcssparser_p.h:1:0,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qtextdocument_p.h:63,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/qtextdocument_p.h:1,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qtextengine_p.h:63,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/qtextengine_p.h:1,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qfontengine_p.h:53,
                       from ../../../../include/QtGui/5.6.0/QtGui/private/qfontengine_p.h:1,
                       from ../../../../include/QtGui/5.6.0/QtGui/qpa/../../../../../../../../qt5/qtbase/src/gui/text/qplatformfontdatabase.h:54,
                       from ../../../../include/QtGui/5.6.0/QtGui/qpa/qplatformfontdatabase.h:1,
                       from ../../../../include/QtPlatformSupport/5.6.0/QtPlatformSupport/private/../../../../../../../../qt5/qtbase/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h:48,
                       from ../../../../include/QtPlatformSupport/5.6.0/QtPlatformSupport/private/qbasicfontdatabase_p.h:1,
                       from ../../../../include/QtPlatformSupport/5.6.0/QtPlatformSupport/private/../../../../../../../../qt5/qtbase/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h:54,
                       from ../../../../include/QtPlatformSupport/5.6.0/QtPlatformSupport/private/qgenericunixfontdatabase_p.h:1,
                       from /home/builder/Projects/qt5/qtbase/src/plugins/platforms/eglfs/qeglfsintegration.cpp:58:
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h:73:5: error: expected declaration before ‘}’ token
           } /* namespace QCss */ \
           ^
      ../../../../include/QtGui/5.6.0/QtGui/private/../../../../../../../../qt5/qtbase/src/gui/text/qcssparser_p.h:409:1: note: in expansion of macro ‘QT_CSS_DECLARE_TYPEINFO’
       QT_CSS_DECLARE_TYPEINFO(LengthData, Q_PRIMITIVE_TYPE)
       ^
      Makefile.eglfs_device_lib:1398: recipe for target '.obj/qeglfsintegration.o' failed
      make[6]: *** [.obj/qeglfsintegration.o] Error 1
      

      Workaround still is unknown.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            kuzulis Denis Shienkov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes