Qt 5.5 - i.mx27 - building for cross compiles



  • Hi, I need good practice help for configuring and compiling Qt .
    Context :
    Host platform : linux x86 (ubuntu 15.10)
    target platform : linux arm (i.mx27)
    target SD copy : ~/Développement/Linux-Embedded/i.mx27_SD (bin+ *.so)
    toolchain :/opt/OSELAS.Toolchain-1.99.3/arm-v4t-linux-gnueabi/...
    Qt source : ~/Developpement/qt-everywhere-opensource-src-5.5.0/
    personal adds : ../mkspec/linux-arm-v4t-gnueabi-g++/ (copy of "linux-arm-gnueabi-g++" with arm-v4t-gnueabi banaries references)

    I try set the suitable "configure" command line but it failed..

    Configure

    
    + cd qtbase
    + /home/benoit/Developpement/qt-everywhere-opensource-src-5.5.0/qtbase/configure -top-level -opensource -confirm-license -release -v -xplatform linux-arm-v4t-gnueabi-g++ -sysroot /opt/OSELAS.Toolchain-1.99.3/arm-v4t-linux-gnueabi/gcc-4.1.2-glibc-2.5-binutils-2.17-kernel-2.6.18/sysroot-arm-v4t-linux-gnueabi/ -shared -linuxfb -device-option CROSS_COMPILE=/opt/OSELAS.Toolchain-1.99.3/arm-v4t-linux-gnueabi/gcc-4.1.2-glibc-2.5-binutils-2.17-kernel-2.6.18/bin/arm-v4t-linux-gnueabi- -prefix /usr/lib/arm-linux-gnu/qt5.5 -no-opengl -no-c++11 -no-dbus -no-feature-CURSOR -no-feature-CLIPBOARD -no-feature-WHEELEVENT -no-feature-CUPS -qt-zlib -system-libjpeg -system-libpng -nomake tools -nomake examples -nomake tests -I /home/benoit/Développement/Linux-Embedded/i.mx27_SD/usr/include -L /home/benoit/Développement/Linux-Embedded/i.mx27_SD/usr/lib -L /home/benoit/Développement/Linux-Embedded/i.mx27_SD/usr/lib/arm-linux-gnu
    .....
    Build options:
    Configuration .......... accessibility audio-backend clock-gettime clock-monotonic compile_examples concurrent cross_compile enable_new_dtags evdev freetype full-config getaddrinfo getifaddrs harfbuzz iconv inotify ipv6ifname large-config largefile linuxfb medium-config minimal-config mremap nis no-pkg-config pcre png posix_fallocate precompile_header qpa qpa reduce_exports release rpath shared small-config system-jpeg system-png tslib zlib
    Build parts ............ libs
    Mode ................... release
    Using sanitizer(s)...... none
    Using C++11 ............ no
    Using gold linker....... no
    Using new DTAGS ........ yes
    Using PCH .............. yes
    Target compiler supports:
    Neon ................. no
    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 ................... no
    Evdev .................. yes
    FontConfig ............. no
    FreeType ............... yes (bundled copy)
    Glib ................... no
    GStreamer .............. no
    GTK theme .............. no
    HarfBuzz ............... yes (bundled copy)
    Iconv .................. yes
    ICU .................... no
    Image formats:
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
    journald ............... no
    libinput................ no
    mtdev .................. no
    Networking:
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    libproxy.............. no
    OpenSSL .............. no
    NIS .................... yes
    OpenGL / OpenVG:
    EGL .................. no
    OpenGL ............... no
    OpenVG ............... no
    PCRE ................... yes (bundled copy)
    pkg-config ............. no
    PulseAudio ............. no
    QPA backends:
    DirectFB ............. no
    EGLFS ................ no
    EGLFS i.MX6....... .
    EGLFS KMS .......... no
    EGLFS Mali .........
    EGLFS Raspberry Pi .
    EGLFS X11 .......... no
    LinuxFB .............. yes
    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 .................. yes
    udev ................... no
    xkbcommon-x11........... no
    xkbcommon-evdev......... no
    zlib ................... yes (bundled copy)
    

    Make (end of)

    arm-v4t-linux-gnueabi-g++ -c -include .pch/Qt5Core -pipe --sysroot=/opt/OSELAS.Toolchain-1.99.3/arm-v4t-linux-gnueabi/gcc-4.1.2-glibc-2.5-binutils-2.17-kernel-2.6.18/sysroot-arm-v4t-linux-gnueabi/ -O3 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../3rdparty/zlib -I/home/benoit/Développement/Linux-Embedded/i.mx27_SD/usr/include -I../../include -I../../include/QtCore -I../../include/QtCore/5.5.0 -I../../include/QtCore/5.5.0/QtCore -Iglobal -I../3rdparty/pcre -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/forkfd -I.moc -I../../mkspecs/linux-arm-v4t-gnueabi-g++ -o .obj/qglobal.o global/qglobal.cpp
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h: In function 'int qt_safe_open(const char*, int, mode_t)':
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h:166: error: 'QT_OPEN' was not declared in this scope
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h: In function 'qint64 qt_safe_read(int, void*, qint64)':
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h:265: error: 'QT_READ' was not declared in this scope
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h: In function 'qint64 qt_safe_write(int, const void*, qint64)':
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h:274: error: 'QT_WRITE' was not declared in this scope
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h: In function 'int qt_safe_close(int)':
    ../../include/QtCore/5.5.0/QtCore/private/../../../../../src/corelib/kernel/qcore_unix_p.h:289: error: 'QT_CLOSE' was not declared in this scope
    global/qglobal.cpp: In function 'QByteArray getEtcFileContent(const char*)':
    global/qglobal.cpp:2151: error: 'QT_STATBUF' was not declared in this scope
    global/qglobal.cpp:2151: error: expected `;' before 'sbuf'
    global/qglobal.cpp:2152: error: 'sbuf' was not declared in this scope
    global/qglobal.cpp:2152: error: 'QT_FSTAT' was not declared in this scope
    global/qglobal.cpp:2157: error: 'sbuf' was not declared in this scope
    global/qglobal.cpp: In function 'bool readEtcLsbRelease(QUnixOSVersion&)':
    global/qglobal.cpp:2222: error: 'QT_STATBUF' was not declared in this scope
    global/qglobal.cpp:2222: error: expected `;' before 'sbuf'
    global/qglobal.cpp:2223: error: 'sbuf' was not declared in this scope
    global/qglobal.cpp:2223: error: 'QT_FSTAT' was not declared in this scope
    Makefile:10819: recipe for target '.obj/qglobal.o' failed
    make[3]: configure configure.bat gnuwin32 LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.GPLv2 LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.PREVIEW.COMMERCIAL Makefile qt3d qtactiveqt qtandroidextras qtbase qtcanvas3d qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats qtlocation qtmacextras qtmultimedia qt.pro qtquick1 qtquickcontrols qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland qtwebchannel qtwebengine qtwebkit qtwebkit-examples qtwebsockets qtwinextras qtx11extras qtxmlpatterns README [.obj/qglobal.o] Error 1
    make[3]: Leaving directory '/home/benoit/Developpement/qt-everywhere-opensource-src-5.5.0/qtbase/src/corelib'
    Makefile:164: recipe for target 'sub-corelib-make_first' failed
    make[2]: configure configure.bat gnuwin32 LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.GPLv2 LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.PREVIEW.COMMERCIAL Makefile qt3d qtactiveqt qtandroidextras qtbase qtcanvas3d qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats qtlocation qtmacextras qtmultimedia qt.pro qtquick1 qtquickcontrols qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland qtwebchannel qtwebengine qtwebkit qtwebkit-examples qtwebsockets qtwinextras qtx11extras qtxmlpatterns README [sub-corelib-make_first] Error 2
    make[2]: Leaving directory '/home/benoit/Developpement/qt-everywhere-opensource-src-5.5.0/qtbase/src'
    Makefile:45: recipe for target 'sub-src-make_first' failed
    make[1]: configure configure.bat gnuwin32 LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.GPLv2 LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.PREVIEW.COMMERCIAL Makefile qt3d qtactiveqt qtandroidextras qtbase qtcanvas3d qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats qtlocation qtmacextras qtmultimedia qt.pro qtquick1 qtquickcontrols qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland qtwebchannel qtwebengine qtwebkit qtwebkit-examples qtwebsockets qtwinextras qtx11extras qtxmlpatterns README [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/benoit/Developpement/qt-everywhere-opensource-src-5.5.0/qtbase'
    Makefile:72: recipe for target 'module-qtbase-make_first' failed
    make: configure configure.bat gnuwin32 LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.GPLv2 LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.PREVIEW.COMMERCIAL Makefile qt3d qtactiveqt qtandroidextras qtbase qtcanvas3d qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats qtlocation qtmacextras qtmultimedia qt.pro qtquick1 qtquickcontrols qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland qtwebchannel qtwebengine qtwebkit qtwebkit-examples qtwebsockets qtwinextras qtx11extras qtxmlpatterns README [module-qtbase-make_first] Error 2
    

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    That's a bit vague, can you please elaborate a bit what you are asking for ?



  • @SGaist i updated the original post



  • I manged tout build qt 4.5 for embedded i.mx27 before. But today it fail with qt 5.5 ans new "configuré" paramètres.
    So i have few conected question:

    • Do we need "sysroot" paramétrer ?
    • What configuré can get in "RootFS" ? Include files? Lib files?
    • i have libpng.so,libjpeg.so files for arm in /usr/lib/arm-linux-gnu on host machine : are these libs usefull ?
    • do qt need extra include or lib files for third-party? If yes , howto référence then to "configure" ?

  • Lifetime Qt Champion

    1. No you don't, but in this case, you will need to provide Qt's dependencies by hand
    2. configure will find there the dependencies for e.g. OpenGL, SQL drivers etc.
    3. Depends on whether you want to use Qt's provided libraries or not
    4. That depends on what feature you want to build. It's shown in configure --help


  • OK , thank's
    i understood things in a better way . And "make" operation proceeded in the good way


  • Lifetime Qt Champion

    You're welcome !

    If that answers you're question, please mark the thread as solved using the "Topic Tool" button so that other forum users may know a solution has been found :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.