Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[package] doxygen/*: cannot install directly because of revision hashes in dependency versions #26488

Open
tkhyn opened this issue Jan 30, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@tkhyn
Copy link
Contributor

tkhyn commented Jan 30, 2025

Description

Hi,

I have an issue conan-installing doxygen binaries. I think I understand what is happening, but I don't know how to solve this.

The problem seems to come from the fact that doxygen has revision hashes in its dependencies versions, and forces a rebuild while it should in theory just download the binary from conan-center.

When running conan install --tool-requires=doxygen/1.12.0@ using a fresh new conan home leads to:

...
ERROR: Missing binary: doxygen/1.12.0:08f15a63d34e3ca2a8a311ff2f7d8b2b11b7c2a4
...

conan graph explain --tool-requires=doxygen/1.12.0@ gives:

...
======== Closest binaries ========
doxygen/1.12.0
  doxygen/1.12.0#71e42ec65511e26d520fadd58d2a9012%1731493414.475 (2024-11-13 10:23:34 UTC)
    doxygen/1.12.0#71e42ec65511e26d520fadd58d2a9012:3156172dd98ae353688e997fd259b55042618e0d
      remote: conancenter
      settings: Windows, x86_64, Release, msvc, 17, dynamic, Release, 193
      options: enable_app=False, enable_parse=True, enable_search=True
      requires: libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:7bfde258ff4f62f75668d0896dbddedaa7480a0f, xapian-core/1.4.19#f8de8e284f40b94b11dd6df4acc8321a:4830a4a014e77a3e2a475b833eca0c0750ad1041, zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:7bfde258ff4f62f75668d0896dbddedaa7480a0f
      diff
        dependencies
          expected: libiconv/1.17#1ae2f60ab5d08de1643a22a81b360c59:7bfde258ff4f62f75668d0896dbddedaa7480a0f, zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76:7bfde258ff4f62f75668d0896dbddedaa7480a0f
          existing: libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:7bfde258ff4f62f75668d0896dbddedaa7480a0f, zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:7bfde258ff4f62f75668d0896dbddedaa7480a0f
        explanation: This binary has same settings and options, but different dependencie

Whereas, if I clean up the conan home and I manually run:

conan install --tool-requires=libiconv/1.17@#73fefc1b696e069df90fd1d18aa63edd
conan install --tool-requires=zlib/1.3.1@#f52e03ae3d251dec704634230cd806a2
conan install --tool-requires=doxygen/1.12.0@

Then everything works.

So my question is: how can we make the expected behaviour (i.e. conan install --tool-requires=doxygen/1.12.0@ completes properly straight away)?

Is the fact that the doxygen recipe references dependency revisions in its requirements while conan ignores them and always installs the latest revision? In that case shouldn't these dependency revisions be removed from the doxygen recipe dependencies? If yes, how can we do that? I don't see anything in the recipe that would explain why the revisions are part of the dependency versions and all the other recipes I have looked at do not have them ...

Package and Environment Details

  • Package Name/Version: doxygen/*
  • Operating System+version: Windows 11
  • Compiler+version: msvc 194
  • Conan version: conan 2.12.1
  • Python version: Python 3.12.2

Conan profile

[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.version=194
compiler.runtime=dynamic
compiler.cppstd=23
os=Windows
[options]
[conf]
[build_requires]
[env]

Steps to reproduce

conan install --tool-requires=doxygen/1.12.0@

Logs

Click to expand log
======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=23
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows

Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=23
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows


======== Computing dependency graph ========
doxygen/1.12.0: Not found in local cache, looking in remotes...
doxygen/1.12.0: Checking remote: conancenter
Connecting to remote 'conancenter' anonymously
doxygen/1.12.0: Downloaded recipe revision 71e42ec65511e26d520fadd58d2a9012
xapian-core/1.4.19: Not found in local cache, looking in remotes...
xapian-core/1.4.19: Checking remote: conancenter
xapian-core/1.4.19: Downloaded recipe revision f8de8e284f40b94b11dd6df4acc8321a
zlib/1.3.1: Not found in local cache, looking in remotes...
zlib/1.3.1: Checking remote: conancenter
zlib/1.3.1: Downloaded recipe revision b8bc2603263cf7eccbd6e17e66b0ed76
msys2/cci.latest: Not found in local cache, looking in remotes...
msys2/cci.latest: Checking remote: conancenter
msys2/cci.latest: Downloaded recipe revision 4927aa5502eb174e95df524f2be2685e
libiconv/1.17: Not found in local cache, looking in remotes...
libiconv/1.17: Checking remote: conancenter
libiconv/1.17: Downloaded recipe revision 1ae2f60ab5d08de1643a22a81b360c59
winflexbison/2.5.24: Not found in local cache, looking in remotes...
winflexbison/2.5.24: Checking remote: conancenter
winflexbison/2.5.24: Downloaded recipe revision 8dbe6c515b85557ac36c9a4d5db35244
cmake/3.31.3: Not found in local cache, looking in remotes...
cmake/3.31.3: Checking remote: conancenter
cmake/3.31.3: Downloaded recipe revision 8733a6094cad0031a30ddbd1e6055117
Graph root
    cli
Build requirements
    cmake/3.31.3#8733a6094cad0031a30ddbd1e6055117 - Downloaded (conancenter)
    doxygen/1.12.0#71e42ec65511e26d520fadd58d2a9012 - Downloaded (conancenter)
    libiconv/1.17#1ae2f60ab5d08de1643a22a81b360c59 - Downloaded (conancenter)
    msys2/cci.latest#4927aa5502eb174e95df524f2be2685e - Downloaded (conancenter)
    winflexbison/2.5.24#8dbe6c515b85557ac36c9a4d5db35244 - Downloaded (conancenter)
    xapian-core/1.4.19#f8de8e284f40b94b11dd6df4acc8321a - Downloaded (conancenter)
    zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76 - Downloaded (conancenter)
Resolved version ranges
    cmake/[>=3.19 <4]: cmake/3.31.3
    zlib/[>=1.2.11 <2]: zlib/1.3.1

======== Computing necessary packages ========
zlib/1.3.1: Main binary package '0d6dd492a7d31822b2f2686ec67bbaef586416a3' missing
zlib/1.3.1: Checking 1 compatible configurations
zlib/1.3.1: Compatible configurations not found in cache, checking servers
zlib/1.3.1: '7bfde258ff4f62f75668d0896dbddedaa7480a0f': compiler.version=193
zlib/1.3.1: Found compatible package '7bfde258ff4f62f75668d0896dbddedaa7480a0f': compiler.version=193
libiconv/1.17: Main binary package '0d6dd492a7d31822b2f2686ec67bbaef586416a3' missing
libiconv/1.17: Checking 1 compatible configurations
libiconv/1.17: Compatible configurations not found in cache, checking servers
libiconv/1.17: '7bfde258ff4f62f75668d0896dbddedaa7480a0f': compiler.version=193
libiconv/1.17: Found compatible package '7bfde258ff4f62f75668d0896dbddedaa7480a0f': compiler.version=193
xapian-core/1.4.19: Main binary package '1d6c2db642fe9e9d072c5efe34b9771299e806d6' missing
xapian-core/1.4.19: Checking 7 compatible configurations
xapian-core/1.4.19: Compatible configurations not found in cache, checking servers
xapian-core/1.4.19: 'bda8c63423a844bee2c9d2c6c173446da2181e9d': compiler.cppstd=14
xapian-core/1.4.19: '797bd20ffc16c3a6ec7cb5d57b23385a2097e168': compiler.cppstd=17
xapian-core/1.4.19: '6e351c69efbe0faac856e9738c19afd9157c8b15': compiler.cppstd=20
xapian-core/1.4.19: '4830a4a014e77a3e2a475b833eca0c0750ad1041': compiler.cppstd=14, compiler.version=193
xapian-core/1.4.19: Found compatible package '4830a4a014e77a3e2a475b833eca0c0750ad1041': compiler.cppstd=14, compiler.version=193
doxygen/1.12.0: Main binary package '9f37279f70325cfc1e88eaa03a38c480e2961769' missing
doxygen/1.12.0: Checking 5 compatible configurations
doxygen/1.12.0: Compatible configurations not found in cache, checking servers
doxygen/1.12.0: '9a082c922d0441e5603ea4e8c2aac88ea495b693': compiler.cppstd=17
doxygen/1.12.0: 'ccf4eadf575674013dc8c7e29f44fb9450b2e818': compiler.cppstd=20
doxygen/1.12.0: '08f15a63d34e3ca2a8a311ff2f7d8b2b11b7c2a4': compiler.cppstd=17, compiler.version=193
doxygen/1.12.0: '557b8be39b25a38015d1a8dc6552885760d09e97': compiler.cppstd=20, compiler.version=193
doxygen/1.12.0: 'e762da4c70358b6ca476ce7ae2c9a4baa5e309ee': compiler.version=193
Build requirements
    doxygen/1.12.0#71e42ec65511e26d520fadd58d2a9012:9f37279f70325cfc1e88eaa03a38c480e2961769 - Missing
Skipped binaries
    cmake/3.31.3, libiconv/1.17, msys2/cci.latest, winflexbison/2.5.24, xapian-core/1.4.19, zlib/1.3.1
ERROR: Missing binary: doxygen/1.12.0:9f37279f70325cfc1e88eaa03a38c480e2961769

doxygen/1.12.0: WARN: Can't find a 'doxygen/1.12.0' package binary '9f37279f70325cfc1e88eaa03a38c480e2961769' for the configuration:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=23
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows
[options]
enable_app=False
enable_parse=True
enable_search=True
[requires]
libiconv/1.17#1ae2f60ab5d08de1643a22a81b360c59:7bfde258ff4f62f75668d0896dbddedaa7480a0f
xapian-core/1.4.19#f8de8e284f40b94b11dd6df4acc8321a:4830a4a014e77a3e2a475b833eca0c0750ad1041
zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76:7bfde258ff4f62f75668d0896dbddedaa7480a0f

ERROR: Missing prebuilt package for 'doxygen/1.12.0'. You can try:
    - List all available packages using 'conan list "doxygen/1.12.0:*" -r=remote'
    - Explain missing binaries: replace 'conan install ...' with 'conan graph explain ...'
    - Try to build locally from sources using the '--build=doxygen/1.12.0' argument

More Info at 'https://docs.conan.io/2/knowledge/faq.html#error-missing-prebuilt-package'
@tkhyn tkhyn added the bug Something isn't working label Jan 30, 2025
@tkhyn tkhyn changed the title [package] <LIBRARY-NAME>/<LIBRARY-VERSION>: SHORT DESCRIPTION [package] doxygen/*: cannot install directly because of revision hashes in dependency versions Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant