Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt configuration for Linux: What is the default for default Qt libraries?



  • I build Qt 5.15 for Linux and observed link issues when linking 3rd party libraries that used a different Qt build.
    The libraries in question are built with Qt provided binaries for Linux.
    Is there a documentation pointing to the used configuration for Qt libraries? If not is there a way to find/query them?

    Notes:

    • Everything works fine if I use Qt provided binaries
    • Some of the errors look like:
      undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(char, unsigned long) const@Qt_5'
      

    Configuration output

    root@85968a17170e:/home/buildmasterx/qt-everywhere-src-5.15.1/qt5-build# ../configure --prefix=/opt/Qt/5.15.1/gcc_64 \
    >             -platform linux-g++ \
    >             -release \
    >             -opensource \
    >             -confirm-license \
    >             -no-rpath \
    >             -nomake tests \
    >             -optimized-qmake \
    >             -no-cups \
    >             -system-zlib \
    >             -no-pch \
    >             -no-pkg-config \
    >             -shared \
    >             -no-iconv \
    >             -no-kms \
    >             -no-sql-mysql \
    >             -no-sql-psql \
    >             -system-sqlite \
    >             -gui \
    >             -no-harfbuzz \
    >             -widgets \
    >             -no-xcb \
    >             -no-eglfs \
    >             -openssl \
    >             -no-dbus \
    >             -no-tslib \
    >             -no-glib \
    >             -icu \
    >             -nomake examples \
    >             -no-libinput \
    >             -skip qtconnectivity \
    >             -skip qtlottie \
    >             -skip qtdatavis3d \
    >             -skip qtgamepad \
    >             -skip qtlocation\
    >             -skip qtnetworkauth \
    >             -skip qtpurchasing \
    >             -skip qtquick3d \
    >             -skip qtremoteobjects \
    >             -skip qtscript \
    >             -skip qtscxml \
    >             -skip qtsensors \
    >             -skip qtserialbus \
    >             -skip qtserialport \
    >             -skip qtwebchannel \
    >             -skip qtwebsockets \
    >             -skip qtwebview \
    >             -skip qtdoc \
    >             -skip qtpim \
    >             -skip qtdocgallery \
    >             -skip qtfeedback \
    >             -skip qtqa
    + cd qtbase
    + /home/buildmasterx/qt-everywhere-src-5.15.1/qtbase/configure -top-level --prefix=/opt/Qt/5.15.1/gcc_64 -platform linux-g++ -release -opensource -confirm-license -no-rpath -nomake tests -optimized-qmake -no-cups -system-zlib -no-pch -no-pkg-config -shared -no-iconv -no-kms -no-sql-mysql -no-sql-psql -system-sqlite -gui -no-harfbuzz -widgets -no-xcb -no-eglfs -openssl -no-dbus -no-tslib -no-glib -icu -nomake examples -no-libinput -skip qtconnectivity -skip qtlottie -skip qtdatavis3d -skip qtgamepad -skip qtlocation -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtdoc -skip qtpim -skip qtdocgallery -skip qtfeedback -skip qtqa
    Preparing build tree...
    Creating qmake...
    ...............................................................................................Done.
    
    This is the Qt Open Source Edition.
    
    You have already accepted the terms of the Open Source license.
    
    Running configuration tests...
    Checking for machine tuple... yes
    Checking for valid makespec... yes
    Checking for target architecture... x86_64
    Checking for SSE2 instructions... yes
    Checking for AES new instructions... yes
    Checking for alloca() in alloca.h... yes
    Checking for SSE3 instructions... yes
    Checking for SSSE3 instructions... yes
    Checking for SSE4.1 instructions... yes
    Checking for SSE4.2 instructions... yes
    Checking for AVX instructions... yes
    Checking for AVX2 instructions... yes
    Checking for AVX512 F instructions... yes
    Checking for AVX512 BW instructions... yes
    Checking for AVX512 CD instructions... yes
    Checking for AVX512 DQ instructions... yes
    Checking for AVX512 ER instructions... yes
    Checking for AVX512 IFMA instructions... yes
    Checking for AVX512 PF instructions... yes
    Checking for AVX512 VBMI instructions... yes
    Checking for AVX512 VL instructions... yes
    Checking for C++14 support... yes
    Checking for C++17 support... yes
    Checking for C99 support... yes
    Checking for C11 support... yes
    Checking for dlopen()... yes
    Checking for new dtags support... yes
    Checking for F16C instructions... yes
    Checking for D-Bus >= 1.2 (host)... yes
    Checking for Support for Intel Control-flow Enforcement Technology... no
    Checking for udev... no
    Checking for POSIX fallocate()... yes
    Checking for RDRAND instruction... yes
    Checking for RDSEED instruction... no
    Checking for symbol visibility support... yes
    Checking for -Bsymbolic-functions support... yes
    Checking for SHA new instructions... yes
    Checking for Signaling NaN for doubles... yes
    Checking for STL compatibility... yes
    Checking for zlib... yes
    Checking for Intrinsics without -mXXX argument... yes
    Checking for Zstandard... no
    Checking for clock_gettime()... yes
    Checking for POSIX monotonic clock... yes
    Checking for C++11 <future>... yes
    Checking for eventfd... yes
    Checking for futimens()... yes
    Checking for getauxval()... yes
    Checking for getentropy()... yes
    Checking for GNU libc... yes
    Checking for ICU... yes
    Checking for inotify... yes
    Checking for SysV IPC... yes
    Checking for linkat()... yes
    Checking for ppoll()... yes
    Checking for PCRE2... no
    Checking for renameat2()... no
    Checking for slog2... no
    Checking for statx() in libc... no
    Checking for 64 bit atomics... yes
    Checking for DoubleConversion... no
    Checking for O_CLOEXEC... yes
    Checking for C++11 <random>... yes
    Checking for working std::atomic for function pointers... yes
    Checking for OpenSSL Headers... yes
    Checking for DTLS support in OpenSSL... yes
    Checking for getifaddrs()... yes
    Checking for KRB5 GSSAPI Support... no
    Checking for IPv6 ifname... yes
    Checking for Linux AF_NETLINK sockets... yes
    Checking for OCSP stapling support in OpenSSL... yes
    Checking for Desktop OpenGL... yes
    Checking for KMS... no
    Checking for EGL... no
    Checking for evdev... yes
    Checking for FreeType... yes
    Checking for Fontconfig... yes
    Checking for GBM... no
    Checking for LinuxFB... yes
    Checking for mtdev... no
    Checking for OpenVG... no
    Checking for default QPA platform... xcb
    Checking for libjpeg... no
    Checking for libpng... yes
    Checking for libmd4c... no
    Checking for Vulkan... no
    Checking for XLib... yes
    Checking for XCB >= 1.11... yes
    Checking for XCB Xlib... yes
    Checking for xkbcommon >= 0.5.0... no
    Checking for DB2 (IBM)... no
    Checking for InterBase... no
    Checking for OCI (Oracle)... no
    Checking for ODBC... no
    Checking for SQLite (version 2)... no
    Checking for TDS (Sybase)... no
    Checking for SQLite (version 3)... yes
    Checking for 64bit pointers... yes
    Checking for python... /usr/bin/python
    Checking for Direct3D 12... no
    Checking for Assimp... no
    Checking for Autodesk FBX... no
    Checking for Wayland client library... no
    Checking for Wayland EGL library... no
    Checking for wayland-server... no
    Checking for ALSA... yes
    Checking for GStreamer 1.0... no
    Checking for GStreamer 0.10... no
    Checking for Video for Linux... yes
    Checking for OpenAL... no
    Checking for PulseAudio >= 0.9.10... no
    Checking for libresourceqt5... no
    Checking for Flite... no
    Checking for Speech Dispatcher... no
    Checking for libclang... no
    Checking for architecture supported... yes
    Checking for bison... no
    Checking for submodule initialized... yes
    Checking for build path without whitespace... yes
    Checking for platform supported... 
    Checking for gperf... no
    Checking for flex... no
    Checking for host pkg-config... /usr/bin/pkg-config
    Checking for jumbo build merge limit... 8
    Checking for linker supports -z noexecstack... yes
    Checking for python2... /usr/bin/python2
    Checking for d-bus... no
    Checking for fontconfig... no
    Checking for freetype >= 2.4.2... no
    Checking for glib-2.0 >= 2.32.0... no
    Checking for glibc > 2.16... yes
    Checking for jsoncpp... no
    Checking for khr... yes
    Checking for lcms2... no
    Checking for libdrm... no
    Checking for libevent... no
    Checking for libvpx... no
    Checking for libwebp, libwebpmux and libwebpdemux... no
    Checking for compatible libxml2 and libxslt... no
    Checking for minizip... no
    Checking for system ninja... no
    Checking for nss >= 3.26... no
    Checking for opus... no
    Checking for libpng >= 1.6.0... no
    Checking for protobuf... no
    Checking for re2... no
    Checking for snappy... no
    Checking for x11... no
    Checking for xcomposite... no
    Checking for xcursor... no
    Checking for xi... no
    Checking for xtst... no
    Checking for zlib... no
    Done running configuration tests.
    
    Configure summary:
    
    Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
    Compiler: gcc 5.5.0
    Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile rdrnd shani x86SimdAlways shared shared release c++11 c++14 c++17 c++1z concurrent no-pkg-config reduce_exports reduce_relocations release_tools stl
    Build options:
      Mode ................................... release; optimized tools
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C standard ....................... C11
      Using C++ standard ..................... C++17
      Using ccache ........................... no
      Using new DTAGS ........................ yes
      Relocatable ............................ yes
      Using precompiled headers .............. no
      Using LTCG ............................. no
      Target compiler supports:
        SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
        AVX .................................. AVX AVX2
        AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
        Other x86 ............................ AES F16C RDRAND SHA
        Intrinsics without -mXXX option ...... yes
      Build parts ............................ libs tools
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... no
      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 ....................... no
      udev ................................... no
      Using system zlib ...................... yes
      Zstandard support ...................... no
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... no
      iconv .................................. no
      ICU .................................... yes
      Built-in copy of the MIME database ..... yes
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      PCRE2 .................................. yes
        Using system PCRE2 ................... no
    Qt Network:
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      Linux AF_NETLINK ....................... yes
      OpenSSL ................................ yes
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ yes
      DTLS ................................... yes
      OCSP-stapling .......................... yes
      SCTP ................................... no
      Use system proxies ..................... yes
      GSSAPI ................................. no
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... no
        Using system HarfBuzz ................ no
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... no
        PNG .................................. yes
          Using system libpng ................ yes
      Text formats:
        HtmlParser ........................... yes
        CssParser ............................ yes
        OdfWriter ............................ yes
        MarkdownReader ....................... yes
          Using system libmd4c ............... no
        MarkdownWriter ....................... yes
      EGL .................................... no
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... yes
        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 .............................. no
      X11 specific:
        XLib ................................. yes
        XCB Xlib ............................. yes
        EGL on X11 ........................... no
        xkbcommon-x11 ........................ no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. no
      LinuxFB ................................ yes
      VNC .................................... yes
    Qt Sql:
      SQL item models ........................ yes
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... no
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... no
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... yes
      TDS (Sybase) ........................... no
    Qt Testlib:
      Tester for item models ................. yes
    Further Image Formats:
      JasPer ................................. no
      MNG .................................... no
      TIFF ................................... yes
        Using system libtiff ................. no
      WEBP ................................... yes
        Using system libwebp ................. no
    Qt QML:
      QML network support .................... yes
      QML debugging and profiling support .... yes
      QML just-in-time compiler .............. yes
      QML sequence object .................... yes
      QML XML http request ................... yes
      QML Locale ............................. yes
    Qt QML Models:
      QML list model ......................... yes
      QML delegate model ..................... 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
      TableView item ......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      Repeater item .......................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt 3D:
      Assimp ................................. yes
      System Assimp .......................... no
      Output Qt3D GL traces .................. no
      Use SSE2 instructions .................. yes
      Use AVX2 instructions .................. no
      Aspects:
        Render aspect ........................ yes
        Input aspect ......................... yes
        Logic aspect ......................... yes
        Animation aspect ..................... yes
        Extras aspect ........................ yes
    Qt 3D Renderers:
      OpenGL Renderer ........................ yes
      RHI Renderer ........................... no
    Qt 3D GeometryLoaders:
      Autodesk FBX ........................... no
    Qt Wayland Client ........................ no
    Qt Wayland Compositor .................... no
    Qt Quick Controls 2:
      Styles ................................. Default Fusion Imagine Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
      Multi-touch support .................... yes
    QtXmlPatterns:
      XML schema support ..................... yes
    Qt Multimedia:
      ALSA ................................... yes
      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 TextToSpeech:
      Flite .................................. no
      Flite with ALSA ........................ no
      Speech Dispatcher ...................... no
    Qt Tools:
      Qt Assistant ........................... yes
      Qt Designer ............................ yes
      Qt Distance Field Generator ............ yes
      kmap2qmap .............................. yes
      Qt Linguist ............................ yes
      Mac Deployment Tool .................... no
      makeqpf ................................ yes
      pixeltool .............................. yes
      qdbus .................................. yes
      qev .................................... yes
      Qt Attributions Scanner ................ yes
      qtdiag ................................. yes
      qtpaths ................................ yes
      qtplugininfo ........................... yes
      Windows deployment tool ................ no
      WinRT Runner Tool ...................... no
    Qt Tools:
      QDoc ................................... no
    Qt WebEngine Build Tools:
      Use System Ninja ....................... no
      Use System Gn .......................... no
      Jumbo Build Merge Limit ................ 8
      Developer build ........................ no
      Sanitizer .............................. no
      QtWebEngine required system libraries:
        fontconfig ........................... no
        dbus ................................. no
        nss .................................. no
        khr .................................. yes
        glibc ................................ yes
      Optional system libraries used:
        re2 .................................. no
        icu .................................. no
        libwebp, libwebpmux and libwebpdemux . no
        opus ................................. no
        ffmpeg ............................... no
        libvpx ............................... no
        snappy ............................... no
        glib ................................. no
        zlib ................................. no
        minizip .............................. no
        libevent ............................. no
        jsoncpp .............................. no
        protobuf ............................. no
        libxml2 and libxslt .................. no
        lcms2 ................................ no
        png .................................. no
        JPEG ................................. no
        harfbuzz ............................. no
        freetype ............................. no
    
    Note: -optimized-tools is not useful in -release mode.
    
    Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
    
    Note: The following modules are not being compiled in this configuration:
        webenginecore
        webengine
        webenginewidgets
        pdf
        pdfwidgets
    
    WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
    
    Either ensure that llvm-config is in your PATH environment variable, or set LLVM_INSTALL_DIR to the location of your llvm installation.
    On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
    On macOS, you can use Homebrew's llvm package.
    On Windows, you must set LLVM_INSTALL_DIR to the installation path.
    
    WARNING: Tool gperf is required to build QtWebEngine.
    
    WARNING: Tool gperf is required to build QtPdf.
    
    WARNING: QtWebEngine will not be built.
    
    WARNING: QtPdf will not be built.
    
    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into '/opt/Qt/5.15.1/gcc_64'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    

  • Lifetime Qt Champion

    @Younoussa-0 said in Qt configuration for Linux: What is the default for default Qt libraries?:

    when linking 3rd party libraries that used a different Qt build

    This can't work - you have to build those libraries with the same Qt version.
    What are those 3rd party libraries?



  • @jsulm I cannot provide the library names but we are using the same Qt version, just that the Qt binaries are built differently.
    They use default Qt libraries and I'm trying to build my own for practical reasons, eg. using a container for CI builds.


Log in to reply