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

static build: qtimageformats can't be built if already installed

    XMLWordPrintable

    Details

    • Platform/s:
      Linux/X11
    • Commits:
      98e8180e56322ce065e39cc1ef1d65b54caa8c25 (qt/qtbase/dev) a2a869c563cfe02269ef10ef8672b5c1f71ec99d (qt/qtbase/6.1) e1c1558218168529ea3fd1ab2e8b775c152ef7ee (qt/qtbase/dev) 1873301ced87df4e3487408ea3723584e18060f0 (qt/qtbase/6.1)

      Description

      How to reproduce:

      • configure, build and install qtbase (or use a non-prefix build)
      • build and install qtimageformats against the installed qtbase
      • clear qtimageformats build directory
      • build and install qtimageformats again

      The last step will fail with

      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtFindPackageHelpers.cmake:156 (set_property):
        Attempt to promote imported target "TIFF::TIFF" to global scope (by setting
        IMPORTED_GLOBAL) which is not built in this directory.
      Call Stack (most recent call first):
        src/imageformats/configure.cmake:18 (qt_find_package)
        src/plugins/imageformats/CMakeLists.txt:9 (include)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtFindPackageHelpers.cmake:156 (set_property):
        Attempt to promote imported target "WrapWebP::WrapWebP" to global scope (by
        setting IMPORTED_GLOBAL) which is not built in this directory.
      Call Stack (most recent call first):
        src/imageformats/configure.cmake:19 (qt_find_package)
        src/plugins/imageformats/CMakeLists.txt:9 (include)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtFindPackageHelpers.cmake:156 (set_property):
        Attempt to promote imported target "Libmng::Libmng" to global scope (by
        setting IMPORTED_GLOBAL) which is not built in this directory.
      Call Stack (most recent call first):
        src/imageformats/configure.cmake:20 (qt_find_package)
        src/plugins/imageformats/CMakeLists.txt:9 (include)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QTgaPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/tga/CMakeLists.txt:7 (qt_internal_add_plugin)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QWbmpPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/wbmp/CMakeLists.txt:7 (qt_internal_add_plugin)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QTiffPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/tiff/CMakeLists.txt:16 (qt_internal_add_plugin)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QWebpPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/webp/CMakeLists.txt:7 (qt_internal_add_plugin)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QICNSPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/icns/CMakeLists.txt:7 (qt_internal_add_plugin)
      
      
      CMake Error at /home/jobor/dev/qt/dev/qtbase/cmake/QtTargetHelpers.cmake:153 (add_library):
        add_library cannot create ALIAS target "Qt6::QMngPlugin" because another
        target with the same name already exists.
      Call Stack (most recent call first):
        /home/jobor/dev/qt/dev/qtbase/cmake/QtPluginHelpers.cmake:102 (qt_internal_add_target_aliases)
        src/plugins/imageformats/mng/CMakeLists.txt:7 (qt_internal_add_plugin)
      

      We have two types of failures:

      1. Attempt to promote imported target "TIFF::TIFF" to global scope (by setting
        IMPORTED_GLOBAL) which is not built in this directory.
      2. add_library cannot create ALIAS target "Qt6::QMngPlugin" because another
        target with the same name already exists.

      2. is happening, because we're building imageformats plugins here that get loaded by Qt6GuiPluginConfig.cmake, creating ALIAS targets of plugins from the first build/installation of qtimageformats.

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              jbornema Joerg Bornemann
              Reporter:
              jbornema Joerg Bornemann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews