Solved Build Qt5.5.1 for Beaglebone black
-
Trying to cross-compile Qt for Beaglebone back with OpenGL support and SGX driver for Quick and I am trying for days.
I have created SD card (debian image with 4.4 kernel) Installed sgx driver and running
Installed (on target) libicu-dev libcups2-dev libudev-dev libmtdev-dev libegl1-mesa-dev libopenvg1-mesa-dev
Host: Ubuntu 16.04. - 64 bit
Created new device in qtbase/mkspecs/devices/linux-beaglebone-g++ and added in qmake.conf followingQMAKE_INCDIR_OPENGL = /path_to_the/rootfs/usr/include/GL QMAKE_LIBDIR_OPENGL = /path_to_the/rootfs/usr/lib QMAKE_INCDIR_POWERVR = /path_to_the/rootfs/usr/include QMAKE_INCDIR_OPENGL_ES1 = /path_to_the/rootfs/usr/include/GLES QMAKE_LIBDIR_OPENGL_ES1 = /path_to_the/rootfs/usr/lib QMAKE_INCDIR_OPENGL_ES1CL = /path_to_the/rootfs/usr/include/GLES QMAKE_LIBDIR_OPENGL_ES1CL = /path_to_the/rootfs/usr/lib QMAKE_INCDIR_OPENGL_ES2 = /path_to_the/rootfs/usr/include/GLES2 QMAKE_LIBDIR_OPENGL_ES2 = /path_to_the/rootfs/usr/lib QMAKE_INCDIR_EGL = /path_to_the/rootfs/usr/include/GL QMAKE_LIBDIR_EGL = /path_to_the/rootfs/usr/lib
Created new mkspecs linux-linaro-gnueabihf-g++ and added paths to linaro compiler
Configuration:configure -v -opensource -confirm-license -qt-xcb -no-xinput2 -no-tslib -nomake examples -nomake tests -sysroot /pathtothe/rootfs -prefix /path_to_install/bbb-qt-5.5.1 -xplatform linux-linaro-gnueabihf-g++ -device linux-beaglebone-g++ -device-option CROSS_COMPILE=/pathtolinaro/bin/arm-linux-gnueabihf- -skip qtwebkit -skip qtwebkit-examples -skip qtwebchannel -skip qtwebengine -skip qtwayland -no-dbus
with output:
Configure summary Building on: linux-g++ (x86_64, CPU features: mmx sse sse2) Building for: devices/linux-beaglebone-g++ (arm, CPU features: neon) Platform notes: qmake vars .......... styles += mac fusion windows DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_TSLIB DEFINES += QT_NO_LIBINPUT QMAKE_X11_PREFIX = /usr QMAKE_XKB_CONFIG_ROOT = /usr/share/X11/xkb sql-drivers = sql-plugins = sqlite qmake switches ......... Build options: Configuration .......... accessibility audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile cups egl eglfs egl_x11 enable_new_dtags evdev eventfd freetype full-config getaddrinfo getifaddrs harfbuzz iconv icu inotify ipv6ifname large-config largefile linuxfb medium-config minimal-config mremap mtdev neon nis no-pkg-config opengl opengles2 openvg pcre png posix_fallocate precompile_header qpa qpa reduce_exports release rpath shared small-config use_gold_linker xcb xcb-plugin xcb-qt xcb-xlib xkbcommon-qt xlib zlib Build parts ............ libs Mode ................... release Using sanitizer(s)...... none Using C++11 ............ yes Using gold linker....... yes Using new DTAGS ........ yes Using PCH .............. yes Target compiler supports: Neon ................. yes Qt modules and options: Qt D-Bus ............... no Qt Concurrent .......... yes Qt GUI ................. yes Qt Widgets ............. yes Large File ............. yes QML debugging .......... yes Use system proxies ..... no Support enabled for: Accessibility .......... yes ALSA ................... no CUPS ................... yes Evdev .................. yes FontConfig ............. no FreeType ............... yes (bundled copy) Glib ................... no GStreamer .............. no GTK theme .............. no HarfBuzz ............... yes (bundled copy) Iconv .................. yes ICU .................... yes Image formats: GIF .................. yes (plugin, using bundled copy) JPEG ................. yes (plugin, using bundled copy) PNG .................. yes (in QtGui, using bundled copy) journald ............... no libinput................ no mtdev .................. yes (system library) Networking: getaddrinfo .......... yes getifaddrs ........... yes IPv6 ifname .......... yes libproxy.............. no OpenSSL .............. no NIS .................... yes OpenGL / OpenVG: EGL .................. yes OpenGL ............... yes (OpenGL ES 2.0+) OpenVG ............... yes-auto PCRE ................... yes (bundled copy) pkg-config ............. no PulseAudio ............. no QPA backends: DirectFB ............. no EGLFS ................ yes EGLFS i.MX6....... . no EGLFS KMS .......... no EGLFS Mali ......... no EGLFS Raspberry Pi . no EGLFS X11 .......... yes LinuxFB .............. yes XCB .................. yes (bundled copy) EGL on X ........... yes GLX ................ no MIT-SHM ............ yes Xcb-Xlib ........... yes Xcursor ............ yes (loaded at runtime) Xfixes ............. yes (loaded at runtime) Xi ................. yes (loaded at runtime) Xi2 ................ no Xinerama ........... yes (loaded at runtime) Xrandr ............. yes (loaded at runtime) Xrender ............ no XKB ................ yes XShape ............. yes XSync .............. yes XVideo ............. yes 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........... yes (bundled copy, XKB config root: /usr/share/X11/xkb) xkbcommon-evdev......... no zlib ................... yes (bundled copy)
make -j4
terminated with this error
...moc_qcoreapplication.o .obj/moc_qcoreevent.o .obj/moc_qmimedata.o .obj/moc_qsocketnotifier.o .obj/moc_qtimer.o .obj/moc_qtranslator.o .obj/moc_qobjectcleanuphandler.o .obj/moc_qsharedmemory.o .obj/moc_qeventdispatcher_unix_p.o .obj/moc_qabstractstate.o .obj/moc_qstate.o .obj/moc_qfinalstate.o .obj/moc_qhistorystate.o .obj/moc_qabstracttransition.o .obj/moc_qsignaltransition.o .obj/moc_qeventtransition.o -lrt -ldl -lpthread -licui18n -licuuc -licudata -L/home/toni/image/2016/QT/dl/qt-everywhere-opensource-src-5.5.1/qtbase/lib -lqtpcre -lpthread -lm -ldl -lrt /home/toni/gcc/linaro49/bin/../lib/gcc/arm-linux-gnueabihf/4.9.2/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /home/toni/image/2016/QT/rootfs/usr/lib/arm-linux-gnueabihf/librt.so: No such file or directory /home/toni/gcc/linaro49/bin/../lib/gcc/arm-linux-gnueabihf/4.9.2/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /home/toni/image/2016/QT/rootfs/usr/lib/arm-linux-gnueabihf/libdl.so: No such file or directory /home/toni/gcc/linaro49/bin/../lib/gcc/arm-linux-gnueabihf/4.9.2/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /home/toni/image/2016/QT/rootfs/usr/lib/arm-linux-gnueabihf/libdl.so: No such file or directory /home/toni/gcc/linaro49/bin/../lib/gcc/arm-linux-gnueabihf/4.9.2/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /home/toni/image/2016/QT/rootfs/usr/lib/arm-linux-gnueabihf/librt.so: No such file or directory /home/toni/gcc/linaro49/bin/../lib/gcc/arm-linux-gnueabihf/4.9.2/../../../../arm-linux-gnueabihf/bin/ld.gold: error: cannot open /home/toni/image/2016/QT/rootfs/usr/lib/arm-linux-gnueabihf/libm.so: No such file or directory .obj/qlibrary_unix.o:qlibrary_unix.cpp:function qdlerror(): error: undefined reference to 'dlerror' .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::unload_sys(): error: undefined reference to 'dlclose' .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::resolve_sys(char const*): error: undefined reference to 'dlsym' .obj/qlibrary_unix.o:qlibrary_unix.cpp:function QLibraryPrivate::load_sys(): error: undefined reference to 'dlopen' .obj/qlibrary_unix.o:qlibrary_unix.cpp:function qt_linux_find_symbol_sys(char const*): error: undefined reference to 'dlsym' .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'pow' .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'floorf' .obj/qdatetime.o:qdatetime.cpp:function fromIsoTimeString(QStringRef const&, Qt::DateFormat, bool*): error: undefined reference to 'pow' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeCosineCurve(double): error: undefined reference to 'cos' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutSine(double): error: undefined reference to 'cos' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeSineCurve(double): error: undefined reference to 'sin' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutCurve(double): error: undefined reference to 'sin' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutCirc(double): error: undefined reference to 'sqrt' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutCirc(double): error: undefined reference to 'sqrt' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutCirc(double): error: undefined reference to 'sqrt' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInCirc(double): error: undefined reference to 'sqrt' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutInSine(double): error: undefined reference to 'cos' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeOutInSine(double): error: undefined reference to 'sin' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutExpo(double): error: undefined reference to 'pow' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInOutExpo(double): error: undefined reference to 'pow' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInSine(double): error: undefined reference to 'cos' .obj/qeasingcurve.o:qeasingcurve.cpp:function easeInCurve(double): error: undefined reference to 'sin' .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin' .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin' .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin' .obj/qeasingcurve.o:qeasingcurve.cpp:function ElasticEase::value(double): error: undefined reference to 'asin' .obj/qline.o:qline.cpp:function QLineF::angle() const: error: undefined reference to 'atan2' .obj/qline.o:qline.cpp:function QLineF::setAngle(double): error: undefined reference to 'sincos' .obj/qline.o:qline.cpp:function QLineF::fromPolar(double, double): error: undefined reference to 'sincos' .obj/qline.o:qline.cpp:function QLineF::angle(QLineF const&) const: error: undefined reference to 'acos' .obj/qlocale_tools.o:qlocale_tools.cpp:function qdtoa(double, int, int, int*, int*, char**, char**): error: undefined reference to 'feholdexcept' .obj/qlocale_tools.o:qlocale_tools.cpp:function qdtoa(double, int, int, int*, int*, char**, char**): error: undefined reference to 'fesetenv' .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'floor' .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'ceil' .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'floor' .obj/qrect.o:qrect.cpp:function QRectF::toAlignedRect() const: error: undefined reference to 'ceil' .obj/qtimeline.o:qtimeline.cpp:function QTimeLine::frameForTime(int) const: error: undefined reference to 'ceil' collect2: error: ld returned 1 exit status Makefile:1296: recipe for target '../../lib/libQt5Core.so.5.5.1' failed make[3]: *** [../../lib/libQt5Core.so.5.5.1] Error 1 make[3]: Leaving directory '/home/toni/image/2016/QT/dl/qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib' Makefile:166: recipe for target 'sub-corelib-make_first' failed make[2]: *** [sub-corelib-make_first] Error 2 make[2]: Leaving directory '/home/toni/image/2016/QT/dl/qt-everywhere-opensource-src-5.5.1/qtbase/src' Makefile:45: recipe for target 'sub-src-make_first' failed make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory '/home/toni/image/2016/QT/dl/qt-everywhere-opensource-src-5.5.1/qtbase' Makefile:67: recipe for target 'module-qtbase-make_first' failed make: *** [module-qtbase-make_first] Error 2
missing files are in place...
rootfs/usr/lib/arm-linux-gnueabihf/librt.soHow to solve this... anyone, please.
-
Hi. I know it isn't exactly solution for your problem, but didn't you consider to use TI SDK for beaglebone? It has Qt 5.6 included.
-
yes indeed everything goes smoothly when compiling with rootfs provided with ti-sdk.
thank you for replay.
I will put here instruction howto .
Best regards