Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-91002

qtbase: Qt5Sql/Qt5SqlConfig.cmake force to install all db backend modules

    XMLWordPrintable

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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtbuildsystem Qt Build System Team
            kloczek Tomasz Kloczko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes