conan: conan install says "Missing prebuilt package" even though search shows matching packages
To help us debug your issue please explain:
- I’ve read the CONTRIBUTING guide.
Conan version: 1.14.5 Compiler: gcc OS: Windows arch: x86_64 Steps: Attached the conanfile.txt used for the project default conan settings: [settings] os=Windows os_build=Windows arch=x86_64 arch_build=x86_64 compiler=gcc compiler.version=7 compiler.libcxx=libstdc++ compiler.exception=seh build_type=Release [options] [build_requires] [env]
conan install ..
Gives the following message
boost_package_tools/1.66.0@bincrafters/stable: Already installed!
bzip2/1.0.6@conan/stable: WARN: Can't find a 'bzip2/1.0.6@conan/stable' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.exception=seh, compiler.version=7, os=Windows
- Options: build_executable=True, shared=False
- Dependencies:
- Package ID: 7bcb26fbb88872c62163dcfad726eb86fc9a5b8e
ERROR: Missing prebuilt package for 'bzip2/1.0.6@conan/stable'
Try to build it from sources with "--build bzip2"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"
I tried searching for the bzip2 packages matching my settings and it showed some matches
$ conan search bzip2/1.0.6@conan/stable -r=all -q "arch=x86_64 AND os=Windows AND compiler=gcc AND build_type=Release AND compiler.exception=seh AND compiler.version=7"
Existing packages for recipe bzip2/1.0.6@conan/stable:
Existing recipe in remote 'conan-center':
Package_ID: 402bf05ba0cb88a78c59efe7e90ebf2d341edad2
[options]
build_executable: True
shared: False
[settings]
arch: x86_64
build_type: Release
compiler: gcc
compiler.exception: seh
compiler.threads: posix
compiler.version: 7
os: Windows
Outdated from recipe: False
Package_ID: 6dc82da13f94df549e60f9c1ce4c5d11285a4dff
[options]
shared: False
[settings]
arch: x86_64
build_type: Release
compiler: gcc
compiler.exception: seh
compiler.threads: posix
compiler.version: 7
os: Windows
Outdated from recipe: True
Package_ID: 8796a7e7c2d7bdba7ad775181d8b543980e7b18c
[options]
shared: True
[settings]
arch: x86_64
build_type: Release
compiler: gcc
compiler.exception: seh
compiler.threads: posix
compiler.version: 7
os: Windows
Outdated from recipe: True
Package_ID: e5d344ecc5ab9a803dc6f563bd524a451dc6e6e3
[options]
build_executable: True
shared: True
[settings]
arch: x86_64
build_type: Release
compiler: gcc
compiler.exception: seh
compiler.threads: posix
compiler.version: 7
os: Windows
Outdated from recipe: False
What am I missing here? How can I find out which of my settings/options are not matching the settings of these packages?
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 18 (10 by maintainers)
In general, it would be very helpful if there was a verbose mode to
conan install
that would actually show the mismatch for each available prebuilt package in the case that no match is found. I am finding it maddening to read that there is no match – and not being able to discern why what appear to be matches are not matches.Possible workarounds:
Oh yes, this makes sense. This is known 1.X behavior, in which Conan associates the binaries to the remote it is getting the recipe by default. This is this way because Conan 1.X initially didn’t have revisions, and without revisions you cannot guarantee consistency between the binaries and recipes, so it was this way.
Conan 2.0 will be able to iterate multiple remotes until finding a specific binary, as long as it belongs to the same recipe revision. That should in theory improve and avoid more of these potential issues.
Great, lets close this one now, don’t hesitate to re-open or create a new one if you see further issues. Thanks!
Ok, we found something… We had the same package in the same version with the same user and channel in different repositories, which were all configured as remotes. In one of the repositories the binaries in question did not exist. In the other one it did. But Conan does not seem to search all repositories (probably this is even documented somewhere).
Also I cannot recall how I managed to get the error mentioned here. Maybe I did something wrong. 😦
Not sure whether yesterday I just missed the information about which remote has been used, or whether it is not always shown.
As of now it looks like this is fixed for me. Thanks 😃
We are running Artifactory Enterprise Plus 7.7.3 rev 70703900, manifest is existing at both places.
conaninfo.txt
is also where it should be. No sure about the other details. But there should not be any filtering in place. I’d be happy about a zoom call, will get in touch we you, thanks.I haven’t yet but thanks - I’ll keep it in mind for future troubleshooting.