-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
boost: bump dependencies #10209
boost: bump dependencies #10209
Conversation
I detected other pull requests that are modifying boost/all recipe: This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
All green in build 1 (
|
This PR has been automatically merged due |
@SpaceIm this change has broken our build:
|
conan-center cannot prevent version conflict between last RREV of all recipes at any given time, since only one recipe can be updated per PR and conan-center doesn't allow version range. In the meantime, we can't freeze all dependencies versions in recipes forever. |
Thanks, OK. My dependency graph is like:
If I've understood correctly, (2) is allowed to override (1), but when (2) and (3) are different this causes a problem. So solution could be:
Right? |
Correct
It's tedious to maintain, but at least you can use
I think it's the approach promoted by conan team. |
For recipes held in CCI, we want the out-of-box experience to be as friendly as possible. In this case, anyone picking up the nmos-cpp recipe will currently encounter this issue. Therefore do we need a Conan Center policy that recipes SHOULD list their indirect dependencies, i.e. in this case, nmos-cpp recipe should be adjusted? If so, let's try... I can make PR to update nmos-cpp recipe with |
I understand the pain, but listing indirect dependencies in conan-center recipes is against its policy actually. |
So how DO we support users? |
Hi! There will always be conflicts for the reasons given above. If we want to provide binaries we need to run the builds, and we cannot afford to build the full graph to ensure there are no conflicts (and there are binaries). So, whenever there is a NEW diamond (created by the user consuming recipes) in the dependency graph, a conflict might happen for requirement versions, options values,... diamonds are always a problem. How to deal with it? When the consumer finds a diamond they need to fix it by providing an override downstream. Hopefully some of those users will fix the diamond and will provide a PR in this repository. How to prevent it from failing again in your local project? https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#how-to-protect-my-project-from-breaking-changes-in-recipes Are there plans to alleviate it: #10181 Listing all transitive dependencies won't fix the issue: the user can still consume two unrelated trees of dependencies from ConanCenter, and those branches could have conflicts. |
Thanks for the info, mostly understood. I'm not clear from this:
whether you recommend adding Since this problem can affect end users even if diamonds within CCI were solved, could it be helpful if the error message from Conan had a pointer to the FAQ for more info?
|
No. I don't recommend that. Reasons:
IIRC, we improved the message for this error and now it tells which are the two recipes that list the incompatible versions. Anyway, if you think the message can be improved, create the issue with the proposal in the Conan client repository. Thanks! |
Specify library name and version: lib/1.0
This is also a good place to share with all of us why you are submitting this PR (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!
conan-center hook activated.