Building Qt5 from source on UDOO



  • Hello all,

    I am having trouble building qt-everywhere-src-5.11.1 onto an UDOOneo board.
    The board uses armv7, and has a modified Ubuntu 14.04 OS (UDOObuntu v 2.2) running on it.

    This is what I am getting in the terminal:

    udooer@udooneo:~/dev/qt-build$ ~/dev/qt-everywhere-src-5.11.1/configure -prefix /opt/Qt5.11.1
    +cd qtbase
    +/home/udooer/dev/qt-everywhere-src-5.11.1/qtbase/configure -top-level -prefix /opt/Qt5.11.1
    Preparing build tree...
    Creating qmake...
    ......l...............................................................................In file included from /usr/include/arm-linux-gnueabihf/sys/syscall.h:31:0,
    from /home/udooer/dev/qt-everywhere-src-5.11.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:91:
    /home/udooer/dev/qt-everywhere-src-5.11.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp: In function ‘int renameat2(int, const char*, int, const char*, unsigned int)’:
    /home/udooer/dev/qt-everywhere-src-5.11.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:111:18: error: ‘__NR_renameat2’ was not declared in this scope
    { return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
    ^
    make: *** [qfilesystemengine_unix.o] Error 1
    udooer@udooneo:~/dev/qt-build$

    When looking into the files that the error references I feel that this may be stemming from how macros are being named and called in the various files. In the header file referenced 'syscall.h' there is a section as follows

    #ifndef _LIBC
    /* The Linux kernel header file defines macros '__NR_<name>', but some
         programs expect the traditional form 'SYS_<name>'. So in building libc
         we scan the kernel's list and produce <bits/syscall.h> with macros for 
         all the 'SYS_' names.   */
    #include <bits/syscall.h>
    #endif
    

    Frankly, I have limited knowledge, but I am trying desperately to learn.
    Any help at all will be very much appreciated! My google-foo search style has not found anything as of yet.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    What version of gcc are you using to compile Qt ?


  • Qt Champions 2018

    I think @SGaist has a point here. I remember having trouble with 14.04 and 5.11 on my PC too.

    5.10 worked fine, but IIRC the default Ubuntu 14.04 compiler was too old for Qt 5.11



  • @SGaist the version of gcc I am using is:
    gcc (Ubuntu/Linaro 4.8.4 -2ubuntu~14.04.03) 4.8.4

    @aha_1980 Yeah I might look into just going with 5.10 see if I still have the same issue



  • tried updating and using gcc-4.9 instead of 4.8 and still getting same error

    Qt 5.10 also did not work and produced the same error during configure



  • been a couple days since I have looked into this, but went in and modified the /bits/syscall.h file by simply adding the syscall number for renameat2

    was able to run the configure command and got this error at the end:

    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.

    The full output from running (sorry I know it is long but I was unable to attach a file with everything like i wanted):

    Configure summary:

    Build type: linux-g++ (arm, CPU features: <none>)
    Configuration: use_gold_linker compile_examples enable_new_dtags largefile precompile_header shared rpath release c++11 c++14 concurrent dbus reduce_exports stl
    Build options:
    Mode ................................... release
    Optimize release build for size ........ no
    Building shared libraries .............. yes
    Using C++ standard ..................... C++14
    Using ccache ........................... no
    Using gold linker ...................... yes
    Using new DTAGS ........................ yes
    Using precompiled headers .............. yes
    Using LTCG ............................. no
    Target compiler supports:
    NEON ................................. no
    Build parts ............................ libs examples tools
    Qt modules and options:
    Qt Concurrent .......................... yes
    Qt D-Bus ............................... yes
    Qt D-Bus directly linked to libdbus .... no
    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 ................................... no
    Using system zlib ...................... yes
    Qt Core:
    DoubleConversion ....................... yes
    Using system DoubleConversion ........ no
    GLib ................................... no
    iconv .................................. yes
    ICU .................................... no
    Logging backends:
    journald ............................. no
    syslog ............................... no
    slog2 ................................ no
    Using system PCRE2 ..................... no
    Qt Network:
    getifaddrs() ........................... yes
    IPv6 ifname ............................ yes
    libproxy ............................... no
    OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
    SCTP ................................... no
    Use system proxies ..................... yes
    Qt Gui:
    Accessibility .......................... yes
    FreeType ............................... yes
    Using system FreeType ................ no
    HarfBuzz ............................... yes
    Using system HarfBuzz ................ no
    Fontconfig ............................. no
    Image formats:
    GIF .................................. yes
    ICO .................................. yes
    JPEG ................................. yes
    Using system libjpeg ............... no
    PNG .................................. yes
    Using system libpng ................ no
    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 ............................... no
    INTEGRITY HID .......................... no
    mtdev .................................. no
    tslib .................................. no
    xkbcommon-evdev ........................ no
    QPA backends:
    DirectFB ............................... no
    EGLFS .................................. no
    LinuxFB ................................ yes
    VNC .................................... yes
    Mir client ............................. no
    X11:
    Using system-provided XCB libraries .. no
    EGL on X11 ........................... no
    Xinput2 .............................. no
    XCB XKB .............................. yes
    XLib ................................. no
    XCB render ........................... yes
    XCB GLX .............................. no
    XCB Xlib ............................. no
    Using system-provided xkbcommon ...... no
    Native painting (experimental) ....... no
    Qt Widgets:
    GTK+ ................................... no
    Styles ................................. Fusion Windows
    Qt PrintSupport:
    CUPS ................................... no
    Qt Sql:
    DB2 (IBM) .............................. no
    InterBase .............................. no
    MySql .................................. no
    OCI (Oracle) ........................... no
    ODBC ................................... no
    PostgreSQL ............................. no
    SQLite2 ................................ no
    SQLite ................................. yes
    Using system provided SQLite ......... no
    TDS (Sybase) ........................... no
    Qt SerialBus:
    Socket CAN ............................. yes
    Socket CAN FD .......................... yes
    QtXmlPatterns:
    XML schema support ..................... yes
    Qt QML:
    QML interpreter ........................ yes
    QML network support .................... yes
    Qt Quick:
    Direct3D 12 ............................ no
    AnimatedImage item ..................... yes
    Canvas item ............................ yes
    Support for Qt Quick Designer .......... yes
    Flipable item .......................... yes
    GridView item .......................... yes
    ListView item .......................... yes
    Path support ........................... yes
    PathView item .......................... yes
    Positioner items ....................... yes
    ShaderEffect item ...................... yes
    Sprite item ............................ yes
    Qt Gamepad:
    SDL2 ................................... no
    Qt 3D:
    Assimp ................................. yes
    System Assimp .......................... no
    Output Qt3D Job traces ................. no
    Output Qt3D GL traces .................. no
    Use SSE2 instructions .................. no
    Use AVX2 instructions .................. no
    Aspects:
    Render aspect ........................ yes
    Input aspect ......................... yes
    Logic aspect ......................... yes
    Animation aspect ..................... yes
    Extras aspect ........................ yes
    Qt 3D GeometryLoaders:
    Autodesk FBX ........................... no
    Qt Wayland Client ........................ no
    Qt Wayland Compositor .................... no
    Qt Bluetooth:
    BlueZ .................................. no
    BlueZ Low Energy ....................... no
    Linux Crypto API ....................... no
    WinRT Bluetooth API (desktop & UWP) .... no
    Qt Sensors:
    sensorfw ............................... no
    Qt Quick Controls 2:
    Styles ................................. Default Fusion Imagine Material Universal
    Qt Quick Templates 2:
    Hover support .......................... yes
    Multi-touch support .................... yes
    Qt Positioning:
    Gypsy GPS Daemon ....................... no
    WinRT Geolocation API .................. no
    Qt Location:
    Geoservice plugins:
    OpenStreetMap ........................ yes
    HERE ................................. yes
    Esri ................................. yes
    Mapbox ............................... yes
    MapboxGL ............................. no
    Itemsoverlay ......................... yes
    Qt Multimedia:
    ALSA ................................... no
    GStreamer 1.0 .......................... no
    GStreamer 0.10 ......................... no
    Video for Linux ........................ yes
    OpenAL ................................. no
    PulseAudio ............................. no
    Resource Policy (libresourceqt5) ....... no
    Windows Audio Services ................. no
    DirectShow ............................. no
    Windows Media Foundation ............... no
    Qt WebEngine:
    Embedded build ......................... no
    Pepper Plugins ......................... yes
    Printing and PDF ....................... yes
    Proprietary Codecs ..................... no
    Spellchecker ........................... yes
    Native Spellchecker .................... no
    WebRTC ................................. yes
    Use System Ninja ....................... no
    Geolocation ............................ yes
    Use v8 snapshot ........................ yes
    Use ALSA ............................... no
    Use PulseAudio ......................... no
    Optional system libraries used:
    re2 .................................. no
    icu .................................. no
    libwebp, libwebpmux and libwebpdemux . no
    opus ................................. no
    ffmpeg ............................... no
    libvpx ............................... no
    snappy ............................... no
    libsrtp .............................. no
    glib ................................. no
    zlib ................................. yes
    minizip .............................. no
    libevent ............................. no
    jsoncpp .............................. no
    protobuf ............................. no
    libxml2 and libxslt .................. no
    lcms2 ................................ no
    png .................................. no
    harfbuzz ............................. no
    Required system libraries:
    fontconfig ........................... no
    dbus ................................. no
    nss .................................. no
    khr .................................. no
    glibc ................................ yes
    Required system libraries for qpa-xcb:
    libdrm ............................... yes
    xcomposite ........................... no
    xcursor .............................. no
    xi ................................... no
    xrandr ............................... no
    xtst ................................. no

    Note: Also available for Linux: linux-clang linux-icc

    Note: Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing.

    Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

    Note: Dropped compiler flags '-pthread' when detecting library 'webengine-protobuf'.

    WARNING: gperf is required to build QtWebEngine.

    WARNING: bison is required to build QtWebEngine.

    WARNING: flex is required to build QtWebEngine.

    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.