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. Issue with cross-compiling QT 5.13.2 from Ubuntu host (18.04 bionic) to Nvidia Jetson tx2
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
2 Posts 2 Posters 1.2k Views
  • 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.
  • S Offline
    S Offline
    shebin
    wrote on last edited by shebin
    #1

    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 to dlopen'
    main.cpp:(.text.startup+0x14): undefined reference to dlclose' main.cpp:(.text.startup+0x20): undefined reference to dlsym'
    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

    K 1 Reply Last reply
    1
    • S shebin

      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 to dlopen'
      main.cpp:(.text.startup+0x14): undefined reference to dlclose' main.cpp:(.text.startup+0x20): undefined reference to dlsym'
      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

      K Offline
      K Offline
      Ktram
      wrote on last edited by
      #2

      @shebin I'm too facing same kind of issue. can anyone help me on this

      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