-
Notifications
You must be signed in to change notification settings - Fork 970
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
Better information on mismatch in dependency tree #3316
Comments
Hi @fulara and thanks a lot for your report. Basically what is happening here is that Conan overrides potato/1.0.0 dependency declared in carrot by potato/2.0.0 as indicated in the downstream foo package. That behavior is clearly indicated in the trace:
My understanding is that, as there is no carrot package with the new potato/2.0.0 dependency, a new carrot package has to be built. I am not sure if that is completely the right behavior (@memsharded could you take a look?) but I think the message is clear and you can even see the status of carrot package marked as "missing". |
My problem regarding the error message, is that nowhere it hints to the user that the mismatch against
Whereas thats not true, options and settings match. |
Yes, that's right... As Conan uses semver mode for compatibility, changes on the major version of the requirement (potato changes from 1.0.0 to 2.0.0) changes the carrot's package ID. As carrot does not exists with potato/2.0.0 doesn't exist this is the result. This message could be improved for sure. |
Yes, I agree with @fulara, showing the requirements (maybe evaluated to what |
Add dependencies to package output info when binary is not found (close #3316)
Add dependencies to package output info when binary is not found (close conan-io#3316)
using conan v1.6.1
Consider following scenario:
Monday:
binary foo depends on potato and carrot in both versions 1.0.0
carrot depends on potato in version 1.0.0
potato does not depends on anything.
All compiles fine.
Tuesday:
updating dependency in foo to potato 2.0.0
This leads to error like this:
Nowhere it hints to user that it is simply the issue of the carrot depending on the potato 1.0.0.
One has to dig deeper by for example conan info to compare all the flags and the dependencies to find the issue.
Maybe it would be possible for conan to compare the settings in the prebuilt ones, and get closest match, and inform why exactly that dependency cannot work?
The text was updated successfully, but these errors were encountered: