Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Native build 5.5.1 on RPI2: issue with qxcbeglwindow.cpp:85:81: error: invalid conversion
Forum Updated to NodeBB v4.3 + New Features

Native build 5.5.1 on RPI2: issue with qxcbeglwindow.cpp:85:81: error: invalid conversion

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
6 Posts 2 Posters 2.6k Views 1 Watching
  • 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.
  • W Offline
    W Offline
    warpme
    wrote on last edited by
    #1

    Hi,
    I'm trying to natively build 5.5.1 on RPI2. My OS is ArchLinux ARM.
    I'm using following configure:

    PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \
        -prefix /usr \
        -bindir /usr/lib/qt/bin \
        -docdir /usr/share/doc/qt \
        -headerdir /usr/include/qt \
        -archdatadir /usr/lib/qt \
        -datadir /usr/share/qt \
        -sysconfdir /etc/xdg \
        -examplesdir /usr/share/doc/qt/examples \
        -plugin-sql-{psql,mysql,sqlite,odbc} \
        -system-sqlite \
        -openssl-linked \
        -nomake examples \
        -nomake tests \
        -no-rpath \
        -optimized-qmake \
        -system-harfbuzz \
        -no-use-gold-linker \
        -no-reduce-relocations \
        -no-sse2 \
        -no-sse3 \
        -no-ssse3 \
        -no-sse4.1 \
        -no-sse4.2 \
        -no-avx \
        -no-avx2 \
        -opengl es2 \
        -skip qtwebengine \
        -device linux-rasp-pi2-g++ \
        -device-option CROSS_COMPILE=/usr/bin/ \
        -force-pkg-config \
        -verbose \
        -eglfs 
    

    Configure reports following:

     Build parts ............ libs
      Mode ................... release
      Using sanitizer(s)...... none
      Using C++11 ............ yes
      Using gold linker....... no
      Using new DTAGS ........ yes
      Using PCH .............. yes
      Target compiler supports:
        Neon ................. yes
    
    Qt modules and options:
      Qt D-Bus ............... yes (loading dbus-1 at runtime)
      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 ................... no
      CUPS ................... yes
      Evdev .................. yes
      FontConfig ............. yes
      FreeType ............... yes (system library)
      Glib ................... yes
      GStreamer .............. yes (0.10)
      GTK theme .............. no
      HarfBuzz ............... yes (system library)
      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
      libinput................ yes
      mtdev .................. yes (system library)
      Networking: 
        getaddrinfo .......... yes
        getifaddrs ........... yes
        IPv6 ifname .......... yes
        libproxy.............. yes
        OpenSSL .............. yes (linked to the libraries)
      NIS .................... yes
      OpenGL / OpenVG: 
        EGL .................. yes
        OpenGL ............... yes (OpenGL ES 2.0+)
        OpenVG ............... no
      PCRE ................... system
      pkg-config ............. yes 
      PulseAudio ............. yes
      QPA backends: 
        DirectFB ............. no
        EGLFS ................ yes
          EGLFS i.MX6....... . no
          EGLFS KMS .......... no
          EGLFS Mali ......... no
          EGLFS Raspberry Pi . yes
          EGLFS X11 .......... yes
        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 ................ yes
          XShape ............. yes
          XSync .............. yes
          XVideo ............. yes
      Session management ..... yes
      SQL drivers: 
        DB2 .................. no
        InterBase ............ yes (plugin)
        MySQL ................ yes (plugin)
        OCI .................. no
        ODBC ................. yes (plugin)
        PostgreSQL ........... yes (plugin)
        SQLite 2 ............. no
        SQLite ............... yes (plugin, using system library)
        TDS .................. no
      tslib .................. no
      udev ................... yes
      xkbcommon-x11........... yes (system library)
      xkbcommon-evdev......... yes
      zlib ................... yes (system library)
    

    Unfortunatelly build fails with following error:

    make[7]: Entering directory '/home/piotro/ABS/qt5.5/src/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_egl'
    /usr/bin/g++ -c -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_TSLIB -DXCB_USE_XLIB -DXCB_USE_XINPUT2 -DXCB_USE_RENDER -DXCB_USE_SM -DXCB_USE_XLIB -DQ_FONTCONFIGDATABASE -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_PLATFORMSUPPORT_LIB -DQT_XCB_QPA_LIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../gl_integrations -I../../../xcb -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I../../../../../../include -I../../../../../../include/QtPlatformSupport -I../../../../../../include/QtPlatformSupport/5.5.1 -I../../../../../../include/QtPlatformSupport/5.5.1/QtPlatformSupport -I../../../../../../include/QtGui/5.5.1 -I../../../../../../include/QtGui/5.5.1/QtGui -I/home/piotro/ABS/qt5.5/src/qt-everywhere-opensource-src-5.5.1/qtbase/include/QtQGui -I../../../../../../include/QtGui -I../../../../../../include/QtCore/5.5.1 -I../../../../../../include/QtCore/5.5.1/QtCore -I../../../../../../include/QtCore -I.moc -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I../../../../../../mkspecs/devices/linux-rasp-pi2-g++ -o .obj/qxcbeglwindow.o qxcbeglwindow.cpp
    qxcbeglwindow.cpp: In member function 'virtual void QXcbEglWindow::create()':
    qxcbeglwindow.cpp:85:81: error: invalid conversion from 'xcb_window_t {aka unsigned int}' to 'EGLNativeWindowType {aka void*}' [-fpermissive]
         m_surface = eglCreateWindowSurface(m_glIntegration->eglDisplay(), m_config, m_window, 0);
                                                                                     ^
    In file included from qxcbeglinclude.h:43:0,
                     from qxcbeglwindow.h:39,
                     from qxcbeglwindow.cpp:34:
    /opt/vc/include/EGL/egl.h:265:31: note:   initializing argument 3 of 'void* eglCreateWindowSurface(EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*)'
     EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
                                   ^
    Makefile:1808: recipe for target '.obj/qxcbeglwindow.o' failed
    make[7]: *** [.obj/qxcbeglwindow.o] Error 1
    make[7]: Leaving directory '/home/piotro/ABS/qt5.5/src/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_egl'
    Makefile:42: recipe for target 'sub-xcb_egl-make_first' failed
    make[6]: *** [sub-xcb_egl-make_first] Error 2
    

    I'm not sure is it problem of incompatibility between RPI2 EGL and X11 windowing or
    simply kind go bug in qxcbeglwindow.cpp?
    If it is incompatibility thing - is there possibility to selectively disable building EGL on X11 but leaving rest as "ON".

    Thx in advance for help!

    1 Reply Last reply
    0
    • W Offline
      W Offline
      warpme
      wrote on last edited by
      #2

      Hmm...
      Really nobody can help here?
      Sad.....

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Hi and welcome to devnet,

        Are you following this guide ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        W 1 Reply Last reply
        0
        • SGaistS SGaist

          Hi and welcome to devnet,

          Are you following this guide ?

          W Offline
          W Offline
          warpme
          wrote on last edited by
          #4

          @SGaist
          Thx for replay.
          It's pleasure to be here!

          Regarding Native Build of Qt5 on a Raspberry Pi guide: yes. I'm basing on this.
          It is great that we have such guide. I'm following it and this allow me to prepare build environment (dependencies, etc) on ArchLinux ARM in a way that majority of Qt5.5 components can be build. I believe it is prove that my build environment is quite OK.

          Unfortunately building process fails with error I mention in OP.

          Now I'm in blocked mode as I don't know: is this (1)bug or rather (2)expected error because RPI EGL and X11 windowing incompatibility.

          I'm assuming it is rather (1) as configure process wants to build EGL on X11.
          If it wants do it then Qt developers assume this is possible......(or Qt configure wrongly wants do it platform on which it is impossible).

          So I need some clarification here.....
          -if it is bug then how to fix it
          -if RPI2 can't have EGL on X11 - how to selectively disable it.

          (I don't want to go with solutions like totally disabling xcb or egl)

          br

          Without help of somebody exactly knowing what is root cause I can't move forward

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Since it's the xcb module, I'd try to build with Qt's provided xcb.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • W Offline
              W Offline
              warpme
              wrote on last edited by
              #6

              Indeed, going with bundled xcb helps. I was able to successfully build whole 5.5.1
              My app works OK with EGLFS.
              This time EGL on X11 is disabled by configure automatically however.
              Thx for help!

              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