-
Notifications
You must be signed in to change notification settings - Fork 981
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
[question] Mysterious Package id Causing Missing prebuilt package
Error
#16761
Comments
So I think I might have spotted the issue... Having read the docs on how-the-package-id-is-computed (https://docs.conan.io/2/reference/binary_model/package_id.html#how-the-package-id-is-computed) and realised that it depends on the exact versions of the package dependencies that appear in the This is all getting a little difficult to manage with respect to dockerised build containers in CI. Presumably one wants to represent the fact that the recipe revision is as important as the package version by including it in any In the mean time, if you have any general "best-practice" guidelines in this area (docker files and dependency management with Conan in CI) that you have adopted over time I would be very interested to hear them since at present I am shooting myself in the foot on a daily basis ;-) |
So managing all of the dependencies in my docker files using package references that do include the package recipe revision like so:
does indeed solve my problem. But it seems like an anti-pattern to me. I clearly need to read the docs more thoroughly until I understand the details of how to build a dependency graph properly without pinning everything down! But I can at least install what I need to install and build what I need to build for now, which is good. Closing. |
Thanks for your question, sorry that we couldn't respond to it more quickly. As a hint, Conan has now the Please give it a try the next time it happens and let us know. It is likely that what you are seeing is the effect of So it is not as much a problem of docker or not docker, but about process and CI, when something changes upstream, it is often necessary to re-build the packages affected by those new upstream versions or revisions. We are in the process of documenting this in conan-io/docs#3799 if you are interested. Please don't hesitate to create new tickets if you have any further question regarding |
What is your question?
The following is confusing the heck out of me and I wondered if you could shed some light on the situation for me. No worries if not, but I may be missing some fundamental perspective, which would be good to clear up.
I have bunch of pre-built package binaries in an upstream Conan remote. Most of them are standard third-party library builds and some are in-house library builds. I can see from my CI logs and from the view of my Conan remote in Artifactory that I have a particular in-house package binary in the remote. A summary of the CI job log is given below:
In short it proves that the
my_engine/15.0.0#13e4307d2cfd9b2a27068ac15650b1c47f819413:e8e84a8e45a9e90398807762d21da327c509cb00#65b740da783ed9a30ba8047dec72fdb1
package binary exists in the remote and describes the profile that is was built with.My problem is on the consumption side. I am then trying to install the
my_engine/15.0.0
package into my local conan cache. I am authenticated with themy_conan
remote:The profile I am using looks compatible with that described above:
I can install the
my_bindings/11.0.4
package successfully (and all of the other dependencies of themy_engine/15.0.0
package) using:But when I then try to install the
my_engine/15.0.0
package like so:I hit a
Missing prebuilt package
error! It reads:My question is, where did the mysterious
8890b0353360ccb4268afd9596a7a12940a71118
package id come from? theconan install
command clearly located themy_engine/15.0.0#13e4307d2cfd9b2a27068ac15650b1c47f819413
recipe in the remote, but there is no package associated with that recipe with the package id8890b0353360ccb4268afd9596a7a12940a71118
! And that seems to be the problem since the package id that I would expect to locate ise8e84a8e45a9e90398807762d21da327c509cb00
.I know that was a long-winded description of a very specific problem, but if I am missing something silly I would really appreciate an explanation of where I am going wrong here (I have already spent a long time trying to understand it myself and am still none the wiser).
P.S. The same error is also occurring in a docker container that very closely resembles the docker container in which the
my_engine/15.0.0
was built. I am seeing the same mysterious8890b0353360ccb4268afd9596a7a12940a71118
package id in thedocker build
error logs too:So not specific to my local setup.
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: