Unsolved 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.
-
@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.