Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.15.2
-
None
Description
Usually whem is build some library which has some loadable backend DSOs it is possible to separate those modules from main library amd after installing that libbary + that library other devel; resouerces like header files it is possible to link something against that library.
Looks lik ein case of cmake moule proviided by qtbase that cmake support forces every db backend modules produced during qtbase build process.
Ecample from building kf5-attica:
+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D DBUILD_SHARED_LIBS=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D BUILD_QCH=ON -- The C compiler identification is GNU 11.0.0 -- The CXX compiler identification is GNU 11.0.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done --CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:339 (message): LIB_INSTALL_DIR is deprecated, use KDE_INSTALL_LIBDIR instead. Call Stack (most recent call first): /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:436 (_define_relative) CMakeLists.txt:14 (include) -- Installing in the same prefix as Qt, adopting their path scheme. CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:339 (message): INCLUDE_INSTALL_DIR is deprecated, use KDE_INSTALL_INCLUDEDIR instead. Call Stack (most recent call first): /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:394 (_define_relative) /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:512 (_define_absolute) CMakeLists.txt:14 (include) CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:339 (message): SHARE_INSTALL_PREFIX is deprecated, use KDE_INSTALL_DATAROOTDIR instead. Call Stack (most recent call first): /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:394 (_define_relative) /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:533 (_define_absolute) CMakeLists.txt:14 (include) CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:339 (message): SYSCONF_INSTALL_DIR is deprecated, use KDE_INSTALL_SYSCONFDIR instead. Call Stack (most recent call first): /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:394 (_define_relative) /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:650 (_define_absolute) CMakeLists.txt:14 (include) CMake Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:671 (message): KDE_INSTALL_BINDIR, KDE_INSTALL_LIBDIR and KDE_INSTALL_INCLUDEDIR should either all be absolute paths or all be relative paths. Call Stack (most recent call first): CMakeLists.txt:14 (include) -- Looking for __GLIBC__ -- Looking for __GLIBC__ - found -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Success -- Performing Test HAVE_DATE_TIME -- Performing Test HAVE_DATE_TIME - Success -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Found Doxygen: /usr/bin/doxygen (found suitable version "1.9.1", minimum required is "1.8.13") found components: doxygen dot CMake Error at /usr/lib64/cmake/Qt5Sql/Qt5SqlConfig.cmake:26 (message): The imported target "Qt5::Sql" references the file "/usr/lib64/modules/qt5/sqldrivers/libqsqltds.so" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained "/usr/lib64/cmake/Qt5Sql/Qt5Sql_QTDSDriverPlugin.cmake" but not all the files it references.Call Stack (most recent call first): /usr/lib64/cmake/Qt5Sql/Qt5SqlConfig.cmake:231 (_qt5_Sql_check_file_exists) /usr/lib64/cmake/Qt5Sql/Qt5Sql_QTDSDriverPlugin.cmake:5 (_populate_Sql_plugin_properties) /usr/lib64/cmake/Qt5Sql/Qt5SqlConfig.cmake:240 (include) /usr/lib64/cmake/Qt5Help/Qt5HelpConfig.cmake:111 (find_package) /usr/share/ECM/find-modules/FindQHelpGenerator.cmake:15 (find_package) /usr/share/ECM/modules/ECMAddQch.cmake:426 (find_package) src/CMakeLists.txt:190 (ecm_add_qch) -- Configuring incomplete, errors occurred! See also "/home/tkloczko/rpmbuild/BUILD/attica-5.78.0/x86_64-redhat-linux-gnu/CMakeFiles/CMakeOutput.log".
Such behaviour could make sense if just build component could be using qtbase backend modules for example in test units but generally on only linking some other binaries wich are using qtbase ABI such behaviour does not make to much sense.