Closed AndreyMlashkin closed 2 years ago
this is a hard one:
CMake Error at qtbase/cmake/QtPublicTargetHelpers.cmake:257 (set_property):
Attempt to promote imported target "CONAN_LIB::Iconv_iconv" to global scope
(by setting IMPORTED_GLOBAL) which is not built in this directory.
Call Stack (most recent call first):
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:238 (__qt_internal_promote_target_to_global)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:187 (__qt_internal_walk_libs)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:212 (__qt_internal_walk_libs)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:187 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:12 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:181 (qt_find_package_promote_targets_to_global_scope)
qtbase/src/plugins/sqldrivers/configure.cmake:17 (qt_find_package)
qtbase/src/plugins/sqldrivers/CMakeLists.txt:35 (include)
CMake Error at qtbase/cmake/QtPublicTargetHelpers.cmake:257 (set_property):
Attempt to promote imported target "CONAN_LIB::Iconv_charset" to global
scope (by setting IMPORTED_GLOBAL) which is not built in this directory.
Call Stack (most recent call first):
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:238 (__qt_internal_promote_target_to_global)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:187 (__qt_internal_walk_libs)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:212 (__qt_internal_walk_libs)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:187 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:12 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:181 (qt_find_package_promote_targets_to_global_scope)
qtbase/src/plugins/sqldrivers/configure.cmake:17 (qt_find_package)
qtbase/src/plugins/sqldrivers/CMakeLists.txt:35 (include)
CMake Error at qtbase/cmake/QtPublicTargetHelpers.cmake:257 (set_property):
Attempt to promote imported target "Iconv::Iconv" to global scope (by
setting IMPORTED_GLOBAL) which is not built in this directory.
Call Stack (most recent call first):
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:238 (__qt_internal_promote_target_to_global)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:212 (__qt_internal_walk_libs)
qtbase/cmake/QtPublicWalkLibsHelpers.cmake:187 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:12 (__qt_internal_walk_libs)
qtbase/cmake/QtFindPackageHelpers.cmake:181 (qt_find_package_promote_targets_to_global_scope)
qtbase/src/plugins/sqldrivers/configure.cmake:17 (qt_find_package)
qtbase/src/plugins/sqldrivers/CMakeLists.txt:35 (include)
I'm trying to reproduce the error on https://eirikb.github.io/proof-of-conan/, and then I'll report it on https://bugreports.qt.io
the current workaround is to set option qt:with_odbc=False
I reported the issue on https://bugreports.qt.io/browse/QTBUG-98807
I believe you can get the same Attempt to promote imported target
error with other libraries as well. I think I had it with expat library when using some options. My ultra hack solution was the following patch:
--- QtFindPackageHelpers.cmake 2021-11-05 17:05:44.504389409 +0200
+++ QtFindPackageHelpers.cmake 2021-11-05 17:07:46.716943618 +0200
@@ -178,8 +178,8 @@
"${qt_find_package_target_name}" should_not_promote)
if(NOT is_global AND NOT should_not_promote)
__qt_internal_promote_target_to_global(${qt_find_package_target_name})
- qt_find_package_promote_targets_to_global_scope(
- "${qt_find_package_target_name}")
+ #qt_find_package_promote_targets_to_global_scope(
+ # "${qt_find_package_target_name}")
endif()
endif()
Worth a try until a better solution is developed.
This version works for me
Package and Environment Details (include every applicable attribute)
Conan profile (output of
conan profile show default
orconan profile show <profile>
if custom profile is in use)Steps to reproduce (Include if Applicable)
conan install qt/6.2.1@ -o qt:with_vulkan=True --build missing -o qt:shared=True
Logs (Include/Attach if Applicable)
Click to expand log
``` qt/6.2.1: Applying build-requirement: cmake/3.21.3 qt/6.2.1: Applying build-requirement: ninja/1.10.2 qt/6.2.1: Applying build-requirement: pkgconf/1.7.4 qt/6.2.1: Building your package in /home/andrei/.conan/data/qt/6.2.1/_/_/build/dfad3f704089ab068f93abf8f14b5fe757919a0a qt/6.2.1: Generator cmake_find_package created Findcmake.cmake qt/6.2.1: Generator cmake_find_package created Findninja.cmake qt/6.2.1: Generator cmake_find_package created Findpkgconf.cmake qt/6.2.1: Generator cmake_find_package created FindVulkan.cmake qt/6.2.1: Generator cmake_find_package created Finddouble-conversion.cmake qt/6.2.1: Generator cmake_find_package created FindFontconfig.cmake qt/6.2.1: Generator cmake_find_package created FindICU.cmake qt/6.2.1: Generator cmake_find_package created Findharfbuzz.cmake qt/6.2.1: Generator cmake_find_package created FindSQLite3.cmake qt/6.2.1: Generator cmake_find_package created FindPostgreSQL.cmake qt/6.2.1: Generator cmake_find_package created FindODBC.cmake qt/6.2.1: Generator cmake_find_package created Findxkbcommon.cmake qt/6.2.1: Generator cmake_find_package created Findopengl_system.cmake qt/6.2.1: Generator cmake_find_package created FindOpenSSL.cmake qt/6.2.1: Generator cmake_find_package created FindVulkanHeaders.cmake qt/6.2.1: Generator cmake_find_package created Findxorg.cmake qt/6.2.1: Generator cmake_find_package created Findwayland.cmake qt/6.2.1: Generator cmake_find_package created FindFreetype.cmake qt/6.2.1: Generator cmake_find_package created Findlibuuid.cmake qt/6.2.1: Generator cmake_find_package created Findglib.cmake qt/6.2.1: Generator cmake_find_package created Findwayland-protocols.cmake qt/6.2.1: Generator cmake_find_package created Findlibffi.cmake qt/6.2.1: Generator cmake_find_package created FindLibXml2.cmake qt/6.2.1: Generator cmake_find_package created FindEXPAT.cmake qt/6.2.1: Generator cmake_find_package created FindPNG.cmake qt/6.2.1: Generator cmake_find_package created FindBrotli.cmake qt/6.2.1: Generator cmake_find_package created FindPCRE.cmake qt/6.2.1: Generator cmake_find_package created Findlibelf.cmake qt/6.2.1: Generator cmake_find_package created Findlibmount.cmake qt/6.2.1: Generator cmake_find_package created Findlibselinux.cmake qt/6.2.1: Generator cmake_find_package created Findpcre2.cmake qt/6.2.1: Generator cmake_find_package created FindIconv.cmake qt/6.2.1: Generator cmake_find_package created FindZLIB.cmake qt/6.2.1: Generator cmake_find_package created FindBZip2.cmake qt/6.2.1: Generator cmake created conanbuildinfo.cmake qt/6.2.1: Generator pkg_config created cmake.pc qt/6.2.1: Generator pkg_config created ninja.pc qt/6.2.1: Generator pkg_config created libpkgconf.pc qt/6.2.1: Generator pkg_config created vulkan.pc qt/6.2.1: Generator pkg_config created double-conversion.pc qt/6.2.1: Generator pkg_config created fontconfig.pc qt/6.2.1: Generator pkg_config created icu-data.pc qt/6.2.1: Generator pkg_config created icu-uc.pc qt/6.2.1: Generator pkg_config created icu-i18n.pc qt/6.2.1: Generator pkg_config created icu-tu.pc qt/6.2.1: Generator pkg_config created icu-test.pc qt/6.2.1: Generator pkg_config created icu-io.pc qt/6.2.1: Generator pkg_config created icu-i18n-alias.pc qt/6.2.1: Generator pkg_config created icu-data-alias.pc qt/6.2.1: Generator pkg_config created icu.pc qt/6.2.1: Generator pkg_config created harfbuzz.pc qt/6.2.1: Generator pkg_config created sqlite.pc qt/6.2.1: Generator pkg_config created sqlite3.pc qt/6.2.1: Generator pkg_config created pgport.pc qt/6.2.1: Generator pkg_config created pgcommon.pc qt/6.2.1: Generator pkg_config created pq.pc qt/6.2.1: Generator pkg_config created libpq.pc qt/6.2.1: Generator pkg_config created odbcltdl.pc qt/6.2.1: Generator pkg_config created odbccr.pc qt/6.2.1: Generator pkg_config created odbcinst.pc qt/6.2.1: Generator pkg_config created odbc.pc qt/6.2.1: Generator pkg_config created xkbcli-interactive-wayland.pc qt/6.2.1: Generator pkg_config created xkbregistry.pc qt/6.2.1: Generator pkg_config created xkbcommon.pc qt/6.2.1: Generator pkg_config created xkbcommon-x11.pc qt/6.2.1: Generator pkg_config created xkbcommon_full_package.pc qt/6.2.1: Generator pkg_config created opengl.pc qt/6.2.1: Generator pkg_config created libcrypto.pc qt/6.2.1: Generator pkg_config created libssl.pc qt/6.2.1: Generator pkg_config created openssl.pc qt/6.2.1: Generator pkg_config created vulkanregistry.pc qt/6.2.1: Generator pkg_config created vulkanheaders.pc qt/6.2.1: Generator pkg_config created vulkan-headers.pc qt/6.2.1: Generator pkg_config created xcb-dri3.pc qt/6.2.1: Generator pkg_config created xcb-util.pc qt/6.2.1: Generator pkg_config created xcb-event.pc qt/6.2.1: Generator pkg_config created xcb-aux.pc qt/6.2.1: Generator pkg_config created xcb-atom.pc qt/6.2.1: Generator pkg_config created xkeyboard-config.pc qt/6.2.1: Generator pkg_config created xcb.pc qt/6.2.1: Generator pkg_config created xcb-xinerama.pc qt/6.2.1: Generator pkg_config created xcb-xfixes.pc qt/6.2.1: Generator pkg_config created xcb-sync.pc qt/6.2.1: Generator pkg_config created xcb-shm.pc qt/6.2.1: Generator pkg_config created xcb-shape.pc qt/6.2.1: Generator pkg_config created xcb-renderutil.pc qt/6.2.1: Generator pkg_config created xcb-render.pc qt/6.2.1: Generator pkg_config created xcb-randr.pc qt/6.2.1: Generator pkg_config created xcb-keysyms.pc qt/6.2.1: Generator pkg_config created xcb-image.pc qt/6.2.1: Generator pkg_config created xcb-icccm.pc qt/6.2.1: Generator pkg_config created xcb-xkb.pc qt/6.2.1: Generator pkg_config created xtrans.pc qt/6.2.1: Generator pkg_config created xxf86vm.pc qt/6.2.1: Generator pkg_config created xvmc.pc qt/6.2.1: Generator pkg_config created xv.pc qt/6.2.1: Generator pkg_config created xtst.pc qt/6.2.1: Generator pkg_config created xt.pc qt/6.2.1: Generator pkg_config created xscrnsaver.pc qt/6.2.1: Generator pkg_config created xres.pc qt/6.2.1: Generator pkg_config created xrender.pc qt/6.2.1: Generator pkg_config created xrandr.pc qt/6.2.1: Generator pkg_config created xpm.pc qt/6.2.1: Generator pkg_config created xmuu.pc qt/6.2.1: Generator pkg_config created xmu.pc qt/6.2.1: Generator pkg_config created xkbfile.pc qt/6.2.1: Generator pkg_config created xinerama.pc qt/6.2.1: Generator pkg_config created xi.pc qt/6.2.1: Generator pkg_config created xft.pc qt/6.2.1: Generator pkg_config created xfixes.pc qt/6.2.1: Generator pkg_config created xext.pc qt/6.2.1: Generator pkg_config created xdmcp.pc qt/6.2.1: Generator pkg_config created xdamage.pc qt/6.2.1: Generator pkg_config created xcursor.pc qt/6.2.1: Generator pkg_config created xcomposite.pc qt/6.2.1: Generator pkg_config created xaw7.pc qt/6.2.1: Generator pkg_config created xau.pc qt/6.2.1: Generator pkg_config created sm.pc qt/6.2.1: Generator pkg_config created ice.pc qt/6.2.1: Generator pkg_config created fontenc.pc qt/6.2.1: Generator pkg_config created x11-xcb.pc qt/6.2.1: Generator pkg_config created x11.pc qt/6.2.1: Generator pkg_config created xorg.pc qt/6.2.1: Generator pkg_config created wayland-egl-backend.pc qt/6.2.1: Generator pkg_config created wayland-client.pc qt/6.2.1: Generator pkg_config created wayland-egl.pc qt/6.2.1: Generator pkg_config created wayland-cursor.pc qt/6.2.1: Generator pkg_config created wayland-server.pc qt/6.2.1: Generator pkg_config created wayland-scanner.pc qt/6.2.1: Generator pkg_config created wayland.pc qt/6.2.1: Generator pkg_config created freetype2.pc qt/6.2.1: Generator pkg_config created uuid.pc qt/6.2.1: Generator pkg_config created gresource.pc qt/6.2.1: Generator pkg_config created glib-2.0.pc qt/6.2.1: Generator pkg_config created gobject-2.0.pc qt/6.2.1: Generator pkg_config created gmodule-no-export-2.0.pc qt/6.2.1: Generator pkg_config created gmodule-2.0.pc qt/6.2.1: Generator pkg_config created gio-2.0.pc qt/6.2.1: Generator pkg_config created gio-unix-2.0.pc qt/6.2.1: Generator pkg_config created gthread-2.0.pc qt/6.2.1: Generator pkg_config created gmodule-export-2.0.pc qt/6.2.1: Generator pkg_config created glib.pc qt/6.2.1: Generator pkg_config created wayland-protocols.pc qt/6.2.1: Generator pkg_config created libffi.pc qt/6.2.1: Generator pkg_config created libxml-2.0.pc qt/6.2.1: Generator pkg_config created expat.pc qt/6.2.1: Generator pkg_config created libpng.pc qt/6.2.1: Generator pkg_config created libbrotlicommon.pc qt/6.2.1: Generator pkg_config created libbrotlienc.pc qt/6.2.1: Generator pkg_config created libbrotlidec.pc qt/6.2.1: Generator pkg_config created brotli.pc qt/6.2.1: Generator pkg_config created libpcre32.pc qt/6.2.1: Generator pkg_config created libpcre16.pc qt/6.2.1: Generator pkg_config created libpcre.pc qt/6.2.1: Generator pkg_config created libpcreposix.pc qt/6.2.1: Generator pkg_config created pcre.pc qt/6.2.1: Generator pkg_config created libelf.pc qt/6.2.1: Generator pkg_config created mount.pc qt/6.2.1: Generator pkg_config created libsepol.pc qt/6.2.1: Generator pkg_config created libselinux.pc qt/6.2.1: Generator pkg_config created libpcre2-32.pc qt/6.2.1: Generator pkg_config created libpcre2-16.pc qt/6.2.1: Generator pkg_config created libpcre2-8.pc qt/6.2.1: Generator pkg_config created libpcre2-posix.pc qt/6.2.1: Generator pkg_config created libpcre2.pc qt/6.2.1: Generator pkg_config created libiconv.pc qt/6.2.1: Generator pkg_config created zlib.pc qt/6.2.1: Generator pkg_config created bzip2.pc qt/6.2.1: Aggregating env generators qt/6.2.1: Calling build() WARN: replace_in_file didn't find pattern '$<$