Closed ABBAPOH closed 2 weeks ago
Hi @ABBAPOH
Thanks for your report.
I have been able to reproduce, first I also got the same "Missing binary" error, and then:
(conan2_310) λ conan graph explain --requires=qt/6.7.0 -s compiler.cppstd=17 -o qt*:qtdeclarative=False -o qt*:qtdoc=False -o qt*:qttools=False -o qt*:qttranslation=False
======== Computing dependency graph ========
ERROR: qt/6.7.0: Error in configure() method, line 229
_enablemodule(module_name)
while calling '_enablemodule', line 217
setattr(self.options, mod, True)
ConanException: Incorrect attempt to modify option 'qtdeclarative' from 'False' to 'True'
This looks like a bug in the recipe in ConanCenter, not in Conan itself, I'll try to have a look.
From this comment https://github.com/conan-io/conan/issues/10104#issuecomment-982450067 it seems that one cannot modify props here https://github.com/conan-io/conan-center-index/blob/master/recipes/qt/6.x.x/conanfile.py#L215
Hi @ABBAPOH , thank you for reporting this. We have located the issue in the Conan Center recipe. Apologies for this - we will be more careful in the future.
I get the same issues with Linux. All the dependency options affect the package ID.
Hi @glennaycock - thanks for reporting this.
Looking to sort this out - however it's not ideal.
We can set essential_modules=False
for everyone, but that probably means reduced functionality
Or we can set essential_modules=True
, but we maintain too many qt versions and this has a severe impact on our CI.
While we address this, in the meantime:
-o "qt/*:essential_modules=False"
and are using a configuration that matches our CI, you should get the same binaries that we currently have published-o "qt/*:essential_modules=True"
and --build=missing
It really does depend on what your needs are with regards to the components that qt should have been built with
@ABBAPOH , @glennaycock - this is being fixed in https://github.com/conan-io/conan-center-index/pull/24876
Should be fixed with the most recent recipe revision (might take ~20 minutes to be published).
I'll try take a look tonight, thanks!
Works for me now, thanks!
What is your question?
Hello, I am trying to install Qt prebuilt binariy on Windows. Here's my profile:
More Info at 'https://docs.conan.io/2/knowledge/faq.html#error-missing-prebuilt-package'
======== Closest binaries ======== qt/6.7.0 qt/6.7.0#0d41d85b2ab456f5751faa25c1554581%1712318691.56 (2024-04-05 12:04:51 UTC) qt/6.7.0#0d41d85b2ab456f5751faa25c1554581:024d8d75a587ccc6ec19a5f6e7082c608ea3527b remote: conancenter settings: Windows, x86_64, Release, msvc, 17, dynamic, Release, 193 options(diff): requires: brotli/1.1.Z, bzip2/1.0.Z, double-conversion/3.3.Z, freetype/2.13.Z, glib/2.78.Z, harfbuzz/8.3.Z, libffi/3.4.Z, libgettext/0.22.Z, libiconv/1.17.Z, libpng/1.6.Z, libpq/15.4.Z, md4c/0.4.Z, openssl/3.2.Z, pcre2/10.42.Z, sqlite3/3.45.Z, zlib/1.3.Z diff options expected: qtdeclarative=True, qtdoc=True, qttools=True, qttranslations=True existing: qtdeclarative=False, qtdoc=False, qttools=False, qttranslations=False explanation: This binary was built with the same settings, but different options
======== Computing dependency graph ======== ERROR: qt/6.7.0: Error in configure() method, line 229 _enablemodule(module_name) while calling '_enablemodule', line 217 setattr(self.options, mod, True) ConanException: Incorrect attempt to modify option 'qttools' from 'False' to 'True'