Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Issue with cross-compiling QT 5.13.2 from Ubuntu host (18.04 bionic) to Nvidia Jetson tx2



  • HOW DO I ENABLE EGLDEVICE OPTION?

    I not getting EGLFS EGLDevice : yes.

    I was cross compiling using https://github.com/introlab/rendezvous/wiki/How-to-Cross-Compile-Qt-Library except using -opengl es2. When I run the config I had many errors. Erros are attached below the one I think might be causing issue is the EGL/eglvivante.h missing error. They are not in the egl repo. The application runs on target using xcb mode. But I want to run in eglfs mode. I am getting error failed to load egl device integration "eglfs_kms_egldevice"

      Qt D-Bus directly linked to libdbus .... no
    Support enabled for:
      Using pkg-config ....................... no
      udev ................................... yes
      Using system zlib ...................... yes
      Zstandard support ...................... no
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... no
      iconv .................................. no
      ICU .................................... yes
      Built-in copy of the MIME database ..... yes
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      Linux AF_NETLINK ....................... yes
      OpenSSL ................................ yes
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ yes
      DTLS ................................... yes
      OCSP-stapling .......................... yes
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ yes
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... yes
        PNG .................................. yes
          Using system libpng ................ yes
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ yes
        OpenGL ES 3.0 ........................ yes
        OpenGL ES 3.1 ........................ yes
        OpenGL ES 3.2 ........................ yes
      Vulkan ................................. no
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. no
      xkbcommon .............................. yes
      X11 specific:
        XLib ................................. yes
        XCB Xlib ............................. yes
        EGL on X11 ........................... yes
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS OpenWFD ........................ no
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS RCAR ........................... no
        EGLFS EGLDevice ...................... no
        EGLFS GBM ............................ no
        EGLFS VSP2 ........................... no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... no
        EGLFS X11 ............................ yes
      LinuxFB ................................ yes
      VNC .................................... yes
      Mir client ............................. no
      XCB:
        Using system-provided XCB libraries .. yes
        XCB XKB .............................. yes
        XCB XInput ........................... no
        Native painting (experimental) ....... yes
        GL integrations:
          GLX Plugin ......................... no
          EGL-X11 Plugin ..................... yes
    
    

    /home/x/Desktop/tx2/qt-everywhere-src-5.13.2/qtmultimedia/config.tests/gpu_vivante/main.cpp:32:20: error: ‘GL_VIV_YV12’ was not declared in this scope

    const int format = GL_VIV_YV12

    /home/x/Desktop/tx2/qt-everywhere-src-5.13.2/qtdeclarative/config.tests/d3d12/d3d12.cpp:40:10: fatal error: d3d12.h: No such file or directory

    #include <d3d12.h>
    ^~~~~~~~~
    compilation terminated.
    Makefile:179: recipe for target 'd3d12.o' failed
    make: *** [d3d12.o] Error 1

    main.cpp:3:10: fatal error: EGL/eglvivante.h: No such file or directory

    #include <EGL/eglvivante.h>
    ^~~~~~~~~~~~~~~~~~
    compilation terminated.
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    main.cpp: In function ‘int main(int, char**)’:

    main.cpp:8:5: error: ‘mali_native_window’ was not declared in this scope
    mali_native_window *w = 0;
    ^~~~~~~~~~~~~~~~~~
    main.cpp:8:5: note: suggested alternative: ‘PointerWindow’
    mali_native_window *w = 0;
    ^~~~~~~~~~~~~~~~~~
    PointerWindow
    main.cpp:8:25: error: ‘w’ was not declared in this scope
    mali_native_window *w = 0;
    ^
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    main.cpp:2:10: fatal error: EGL/fbdev_window.h: No such file or directory
    #include <EGL/fbdev_window.h>
    ^~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    In file included from main.cpp:5:0:
    /home/x/tx2/rootfs/usr/include/xf86drmMode.h:43:10: fatal error: drm.h: No such file or directory
    #include <drm.h>
    ^~~~~~~
    compilation terminated.
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    main.cpp: In function ‘int main(int, char**)’:
    main.cpp:11:18: error: aggregate ‘main(int, char**)::statx statxbuf’ has incomplete type and cannot be defined
    struct statx statxbuf;
    ^~~~~~~~
    main.cpp:12:25: error: ‘STATX_BASIC_STATS’ was not declared in this scope
    unsigned int mask = STATX_BASIC_STATS;
    ^~~~~~~~~~~~~~~~~
    main.cpp:13:32: error: ‘AT_STATX_SYNC_AS_STAT’ was not declared in this scope
    return statx(AT_FDCWD, "", AT_STATX_SYNC_AS_STAT, mask, &statxbuf);
    ^~~~~~~~~~~~~~~~~~~~~
    main.cpp:13:70: error: invalid use of incomplete type ‘struct main(int, char**)::statx’
    return statx(AT_FDCWD, "", AT_STATX_SYNC_AS_STAT, mask, &statxbuf);
    ^
    main.cpp:11:12: note: forward declaration of ‘struct main(int, char**)::statx’
    struct statx statxbuf;
    ^~~~~
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    main.cpp:9:5: error: ‘renameat2’ was not declared in this scope
    renameat2(AT_FDCWD, argv[1], AT_FDCWD, argv[2], RENAME_NOREPLACE | RENAME_WHITEOUT);

    main.o: In function main': main.cpp:(.text.startup+0x10): undefined reference todlopen'
    main.cpp:(.text.startup+0x14): undefined reference to dlclose' main.cpp:(.text.startup+0x20): undefined reference todlsym'
    main.cpp:(.text.startup+0x24): undefined reference to `dlerror'
    collect2: error: ld returned 1 exit status
    Makefile:67: recipe for target 'libdl' failed
    make: *** [libdl] Error 1

    rm -f main.o
    rm -f *~ core *.core
    /home/x/tx2/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ -c -pipe -mtune=cortex-a57.cortex-a53 -march=armv8-a --sysroot=/home/x/tx2/rootfs --sysroot=/home/x/tx2/rootfs -O2 -w -fPIC -I. -isystem /home/x/tx2/rootfs/usr/include/aarch64-linux-gnu -I/home/x/Desktop/tx2/qt-everywhere-src-5.13.2/qtbase/mkspecs/devices/linux-jetson-tx1-g++ -o main.o main.cpp
    main.cpp:3:4: error: #error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).

    error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).

    aarch64-linux-gnu-g++: error: unrecognized command line option ‘-mrdrnd’
    Makefile:182: recipe for target 'main.o' failed
    make: *** [main.o] Error 1

    /home/x/Desktop/tx2/qt-everywhere-src-5.13.2/qtmultimedia/config.tests/gpu_vivante/main.cpp:32:20: error: ‘GL_VIV_YV12’ was not declared in this scope
    const int format = GL_VIV_YV12;
    ^~~~~~~~~~~
    Makefile:179: recipe for target 'main.o' failed
    make: *** [main.o] Error 1


Log in to reply