Please review my steps and let me know any possible mistakes.
Download the Qt5 (ver5.10) source code
Code: Select all
sudo apt-get build-dep qt5-default git
sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrv
git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout 5.10
perl init-repository
Code: Select all
return visualId;
}
+ //hack
+ return visualId;
+ //end hack
Code: Select all
#
# qmake configuration for linux-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
#QMAKE_INCDIR += /usr/include
#QMAKE_LIBDIR += /usr/lib
#QMAKE_INCDIR_OPENGL = /usr/include/GL
#QMAKE_LIBDIR_OPENGL = /usr/lib/arm-linux-gnueabihf/mesa
QMAKE_INCDIR_EGL = /usr/include/EGL
QMAKE_LIBDIR_EGL = /usr/lib/arm-linux-gnueabihf/mali-egl
QMAKE_INCDIR_OPENGL_ES2 = /usr/include/GLES2
QMAKE_LIBDIR_OPENGL_ES2 = /usr/lib/arm-linux-gnueabihf/mali-egl
#QMAKE_INCDIR_OPENVG = $QMAKE_INCDIR_EGL
#QMAKE_LIBDIR_OPENVG = /usr/lib/arm-linux-gnueabihf/mali-egl
QMAKE_LIBS_EGL += -lEGL
#QMKAE_LIBS_GL += -lGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lmali
#QMAKE_LFLAGS += -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf
QMAKE_CFLAGS += -mcpu=cortex-a15 -mfpu=neon-vfpv4 -mtune=cortex-a15.cortex-a7 -mfloat-abi=hard
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
QMAKE_CFLAGS_RELEASE += -mcpu=cortex-a15 -mfpu=neon-vfpv4 -mtune=cortex-a15.cortex-a7 -mfloat-abi=hard
DISTRO_OPTS += "hard-float"
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CXXFLAGS -O2
QT_INSTALL_PREFIX="/home/odroid/qt5/build" ## Edit this if you have a preference
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_linuxfb
load(qt_config)
Code: Select all
cd qtbase
./configure -prefix "/home/odroid/qt5/build" -release -confirm-license -opensource -platform linux-g++ -opengl es2 -no-pch
Code: Select all
<srcbase> = /home/odroid/qt5/qtbase
<outbase> = /home/odroid/qt5/qtbase ource -platform linux-g++ -opengl es2 -no-pch
Creating qmake...
.Done.
This is the Qt Open Source Edition.
You have already accepted the terms of the Open Source license.
Running configuration tests...
Done running configuration tests.
Configure summary:
Build type: linux-g++ (arm, CPU features: neon)
Configuration: use_gold_linker compile_examples enable_new_dtags largefile neon shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports stl
Build options:
Mode ................................... release
Optimize release build for size ........ no
Building shared libraries .............. yes
Using C++ standard ..................... C++1z
Using ccache ........................... no
Using gold linker ...................... yes
Using new DTAGS ........................ yes
Using precompiled headers .............. no
Using LTCG ............................. no
Target compiler supports:
NEON ................................. yes
Build parts ............................ libs examples tools
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... yes
Qt D-Bus directly linked to libdbus .... yes
Qt Gui ................................. yes
Qt Network ............................. yes
Qt Sql ................................. yes
Qt Testlib ............................. yes
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... yes
QML debugging .......................... yes
udev ................................... yes
Using system zlib ...................... yes
Qt Core:
DoubleConversion ....................... yes
Using system DoubleConversion ........ yes
GLib ................................... yes
iconv .................................. no
ICU .................................... yes
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
Using system PCRE2 ..................... no
Qt Network:
getifaddrs() ........................... yes
IPv6 ifname ............................ yes
libproxy ............................... no
OpenSSL ................................ yes
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ 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 .................................... no
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ no
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... yes
Features used by QPA backends:
evdev .................................. yes
libinput ............................... yes
INTEGRITY HID .......................... no
mtdev .................................. yes
tslib .................................. no
xkbcommon-evdev ........................ yes
QPA backends:
DirectFB ............................... no
EGLFS .................................. no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
X11:
Using system-provided XCB libraries .. yes
EGL on X11 ........................... no
Xinput2 .............................. yes
XCB XKB .............................. yes
XLib ................................. yes
XCB render ........................... yes
XCB GLX .............................. yes
XCB Xlib ............................. yes
Using system-provided xkbcommon ...... yes
Native painting (experimental) ....... yes
Qt Widgets:
GTK+ ................................... yes
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... yes
Qt Sql:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. yes
OCI (Oracle) ........................... no
ODBC ................................... yes
PostgreSQL ............................. yes
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... yes
Note: Dropped compiler flags '-pthread' when detecting library 'glib'.
Note: Dropped compiler flags '-pthread' when detecting library 'gtk3'.
ERROR: Feature 'opengles2' was enabled, but the pre-condition 'config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)' failed.
ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.
Check config.log for details.
Code: Select all
odroid@odroid:~/qt5/qtbase$ ls -alp /usr/lib/arm-linux-gnueabihf/mali-egl/
total 20128
drwxr-xr-x 2 root root 4096 Apr 18 03:27 ./
drwxr-xr-x 114 root root 86016 May 23 10:28 ../
-rw-r--r-- 1 root root 38 Apr 17 21:00 ld.so.conf
-rwxr-xr-x 1 root root 2752 Apr 17 21:00 libEGL.so
lrwxrwxrwx 1 root root 9 Apr 17 21:00 libEGL.so.1 -> libEGL.so
lrwxrwxrwx 1 root root 9 Apr 17 21:00 libEGL.so.1.4 -> libEGL.so
-rwxr-xr-x 1 root root 2752 Apr 17 21:00 libGLESv1_CM.so
lrwxrwxrwx 1 root root 15 Apr 17 21:00 libGLESv1_CM.so.1 -> libGLESv1_CM.so
lrwxrwxrwx 1 root root 15 Apr 17 21:00 libGLESv1_CM.so.1.1 -> libGLESv1_CM.so
-rwxr-xr-x 1 root root 2752 Apr 17 21:00 libGLESv2.so
lrwxrwxrwx 1 root root 12 Apr 17 21:00 libGLESv2.so.2 -> libGLESv2.so
lrwxrwxrwx 1 root root 12 Apr 17 21:00 libGLESv2.so.2.0 -> libGLESv2.so
-rwxr-xr-x 1 root root 2752 Apr 17 21:00 libOpenCL.so
lrwxrwxrwx 1 root root 12 Apr 17 21:00 libOpenCL.so.1 -> libOpenCL.so
lrwxrwxrwx 1 root root 12 Apr 17 21:00 libOpenCL.so.1.1 -> libOpenCL.so
-rwxr-xr-x 1 root root 20493444 Apr 17 21:00 libmali.so
This is my first time to try building the Qt source code.
