Unsolved 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 1main.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 1main.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 1main.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 1In 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 1main.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 1main.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 todlclose' 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 1rm -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 -
@shebin I'm too facing same kind of issue. can anyone help me on this