Error messages from configuring Qt 5.7 sources
-
Hi all, I've been trying to configure Qt 5.7 properly for my development work but it seems that errors still persist. I've performed the following actions in configuring and building Qt 5.7 sources:
- Unzipped Qt 5.7 sources
- Configure qmake.conf for my embedded device
- Created a script.sh to execute ./configure with the following parameters:
./configure -commercial -confirm-license -release -static -eglfs -linuxfb -opengl es2 -no-qml-debug -no-directfb -no-kms -no-xcb -no-alsa -platform linux-g++-64 -device linux-arm-hi3536-g++ -pkg-config -qt-pcre -qt-zlib -qt-libjpeg -qt-libpng -no-icu -no-nis -no-pch -prefix /home/aa/Hi3536_SDK_V2.0.4.0/v2_qt5.7_arm -device-option CROSS_COMPILE=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi- -skip doc -v -qreal float -fontconfig
- Ran script.sh and basically Qt 5.7 starts building up. It was able to build up with the parameters but there're some errors that persists:
Here's a copy of the error format:
checking for XLib... /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi-g++ -c -pipe -pipe -mcpu=cortex-a7 -mfloat-abi=soft -mfpu=neon-vfpv4 -marm -mthumb-interwork -mfloat-abi=softfp -O2 -Wall -W -fPIC -DEGL_FBDEV -I. -isystem /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/include -I../../../mkspecs/devices/linux-arm-hi3536-g++ -o xlib.o xlib.cpp xlib.cpp:40:22: fatal error: X11/Xlib.h: No such file or directory #include <X11/Xlib.h> ^ compilation terminated. Makefile:204: recipe for target 'xlib.o' failed make: *** [xlib.o] Error 1 XLib disabled.
Basically, based on more or less the same error format as above, I've the following "No such file or directory" for the following headers:
sqlcli.h ibase.h mysql.h oci.h libpg-fe.h SQLite.h sybfront.h cups/cups.h dbus/dbus.h proxy.h glib.h pulse/pulseaudio.h libudev.h tslib.h xcbcommon/xcbcommon.h x11/xlib.h xcb/xcb.h bcm_host.h xf86drm.h EGL/fbdev_window.h egl/egl.H egl/eglvivante.h double-conversion/double-conversion.h ft2build.h harfbuzz/hb.h
- Shows a summary of the things configured in Qt 5 based on my configuration parameters above:
Configure summary Building on: linux-g++-64 (x86_64, CPU features: mmx sse sse2) Building for: devices/linux-arm-hi3536-g++ (arm, CPU features: neon) qmake vars .......... styles += mac fusion windows DEFINES += QT_NO_MTDEV DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_TSLIB DEFINES += QT_NO_LIBINPUT sql-drivers = sql-plugins = sqlite qmake switches ......... Build options: Configuration .......... accessibility audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile dbus doubleconversion egl eglfs enable_new_dtags evdev eventfd freetype full-config getaddrinfo getifaddrs gif harfbuzz iconv inotify ipv6ifname jpeg large-config largefile linuxfb medium-config minimal-config mremap neon no-qml-debug opengl opengles2 pcre png poll_poll posix_fallocate qpa qpa reduce_exports release rpath small-config static threadsafe-cloexec zlib Build parts ............ libs examples Mode ................... release Using sanitizer(s)...... none Using C++ standard ..... c++11 Using gold linker....... no Using new DTAGS ........ yes Using PCH .............. no Using LTCG ............. no 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 .......... no Use system proxies ..... no Support enabled for: Accessibility .......... yes ALSA ................... no CUPS ................... no DoubleConversion........ yes (bundled copy) Evdev .................. yes FontConfig ............. no FreeType ............... yes (bundled copy) Glib ................... no GStreamer .............. no GTK platformtheme ...... no HarfBuzz ............... yes (bundled copy) Iconv .................. yes ICU .................... no Image formats: GIF .................. yes (in QtGui, using bundled copy) JPEG ................. yes (in QtGui, using bundled copy) PNG .................. yes (in QtGui, using bundled copy) libinput................ no Logging backends: journald ............... no syslog ............... no mtdev .................. no Networking: getaddrinfo .......... yes getifaddrs ........... yes IPv6 ifname .......... yes libproxy.............. no OpenSSL .............. no NIS .................... no OpenGL / OpenVG: EGL .................. yes OpenGL ............... yes (OpenGL ES 2.0+) OpenVG ............... no PCRE ................... yes (bundled copy) pkg-config ............. yes PulseAudio ............. no QPA backends: DirectFB ............. no EGLFS ................ yes EGLFS i.MX6 ........ no EGLFS i.MX6 Wayland. no EGLFS EGLDevice .... no EGLFS GBM .......... no EGLFS Mali ......... no EGLFS Raspberry Pi . no EGLFS X11 .......... no LinuxFB .............. yes Mir client............ no XCB .................. no Session management ..... yes SQL drivers: DB2 .................. no InterBase ............ no MySQL ................ no OCI .................. no ODBC ................. no PostgreSQL ........... no SQLite 2 ............. no SQLite ............... yes (plugin, using bundled copy) TDS .................. no tslib .................. no udev ................... no xkbcommon-x11........... no xkbcommon-evdev......... no zlib ................... yes (bundled copy)
- How may I rectify those errors above?
-
You are doing a cross-compilation for another target platform.
Obviously the required headers are missing. AFAIK you need to ensure corss-compiled libs for your target platform. Those are typically separated from your local setup, because they might not fit with your desktop installation.You need to check with the tool chain you are using for cross-compilation.
-
-
The above mentioned Error messages are from config.tests, you may ignore them via removing -v in your configure parameters.
Do you see last few lines after configure summary that mentions 'run make' to build qt. If so, just make it :)