[question] Add dependencies using user/channel
What is your question?
Hi,
I don't manage to use a pre-built package that uses the user/channel-thing.
In my CI job I get the error:
ERROR: Missing binary: own-package/3.9.7@internal/test:dbe476b5a28f71ab6595953efc01e32792c5f21a
own-package/3.9.7@internal/test: WARN: Can't find a 'own-package/3.9.7@internal/test' package binary 'dbe476b5a28f71ab6595953efc01e32792c5f21a' for the configuration:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=20
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows
[requires]
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
ERROR: Missing prebuilt package for 'own-package/3.9.7@internal/test'. You can try:
- List all available packages using 'conan list "own-package/3.9.7@internal/test:*" -r=remote'
When I executed the suggested command on my computer, I get:
conan list "own-package/3.9.7@internal/test:*" -r=3rdparty
Connecting to remote '3rdparty' with user 'user'
3rdparty
own-package
own-package/3.9.7@internal/test
revisions
39374d5569780046673507b979d881e3 (2025-06-17 18:50:12 UTC)
packages
0f0dd365b3a38c9ba828acc3b90332db0f87bf9a
info
settings
arch: x86_64
build_type: Release
compiler: gcc
compiler.cppstd: 20
compiler.libcxx: libstdc++11
compiler.version: 12
os: Linux
requires
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
ec117cfa0dd3654036753b8869cbfcac4584fc01
info
settings
arch: x86_64
build_type: Release
compiler: clang
compiler.cppstd: 20
compiler.libcxx: libstdc++11
compiler.version: 16
os: Linux
requires
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
Following this output, I understand the error message, but when I look into the artifactory, I see, that there is also another revision available. After lengthy research I found out, that the list command needs to be slightly modified to show all revisions (this is a bug for me - on what basis does the command above select the revision it plots?).
If I call (note the #*)
conan list "own-package/3.9.7@internal/test#*:*" -r=3rdparty
I get
3rdparty
own-package
own-package/3.9.7@internal/test
revisions
ced35ee8e1f8fbff249716073ab58b55 (2025-06-17 18:45:35 UTC)
packages
dbe476b5a28f71ab6595953efc01e32792c5f21a
info
settings
arch: x86_64
build_type: Release
compiler: msvc
compiler.cppstd: 20
compiler.runtime: dynamic
compiler.runtime_type: Release
compiler.version: 194
os: Windows
requires
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
39374d5569780046673507b979d881e3 (2025-06-17 18:50:12 UTC)
packages
0f0dd365b3a38c9ba828acc3b90332db0f87bf9a
info
settings
arch: x86_64
build_type: Release
compiler: gcc
compiler.cppstd: 20
compiler.libcxx: libstdc++11
compiler.version: 12
os: Linux
requires
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
ec117cfa0dd3654036753b8869cbfcac4584fc01
info
settings
arch: x86_64
build_type: Release
compiler: clang
compiler.cppstd: 20
compiler.libcxx: libstdc++11
compiler.version: 16
os: Linux
requires
abseil/20250127.Y.Z
nanopb/0.4.7
protobuf/5.Y.Z
zlib/1.Y.Z
This list now also contains the windows version of the package with the exact hash (dbe47...) that my CI job complained about not being able to find. What am I doing wrong? Do I need to specify the revision explicitly for packages using user/channel? Is my artifactory (v7.63.12 rev 76312900 - very difficult to update for me) broken?
Thanks oz
Have you read the CONTRIBUTING guide?
- [x] I've read the CONTRIBUTING guide
I noticed that conan does find the package, if the linux packages have been pushed last. If I run the job again after regenerating and pushing the windows package, it doesn't find it anymore.
I found the issue https://github.com/conan-io/conan/issues/14761 - maybe the steps described there will solve my problem...
Hi @ottmar-zittlau
yes, that is correct, I think that is your issue, it seems you are creating new recipe-revisions due to some uncontrolled or unexpected changes in the source (could be CRLF line endings, or some extra files in the folders that appear in some situations and not others)
It is also explained in this FAQ: https://docs.conan.io/2/knowledge/faq.html#error-obtaining-different-revisions-in-linux-and-windows. You can also read an introduction to revisions (recipe-revisions) in https://docs.conan.io/2/tutorial/versioning/revisions.html
I added the gitattributes file with the fixed line endings and now it seems to work. Thanks.
Great, thanks for your feedback.