-
Notifications
You must be signed in to change notification settings - Fork 993
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
[bug] Some build requires cannot be found in lockfile with conan 1.60.0 anymore #13899
Comments
I found a similar problem with lockfiles on conan 1.60.0 when build_requires have transitive dependencies. Steps to reproduce:
Error: Expectation: Can someone please confirm is issue? Hint: I am already working on a fix, but first we need to have confirmation and a proper testcase for jenkins detecting this issue. |
I'm facing the same problem with tool requires and transitive dependencies (specifically the |
@OEmrich, @vectorsli: Can you please try out my proposed fix 435bc08 and provide your feedback whether this works for you? |
@SzBosch it looks like this prevented the error. However I can't tell if the dependency graph is the same. At least generating new lockfiles produces the same lockfiles as with |
For reference it seems #13788 was the PR introducing this change. If you all @OEmrich can test your projects against the #13902 changes, that would help a lot. We will try to add some further tests to it. |
@memsharded: Without #13788 there is an other bug: It is not possible to have the same package twice in different contexts using lockfiles. Therfore you need to see the changes of #13788 and #13902 together. To be honest #13788 alone should not have passed your automated regression tests as I would have expected this issue #13899 should have beed detected. As we need both, having same package twice in different context AND transitive dependencies in build_require, using lockfiles in all cases, please to not revert the change. Please let me know when you need any support. Thank You. |
Here in the documentation https://docs.conan.io/1/devtools/build_requires.html#build-and-host-contexts E.g. this example should be a regression testcase, for with and without using lockfile. |
@SzBosch Your fix works perfectly fine. Thank you! |
Closed by #13902 to be released in 1.60.1 |
Environment details
Steps to reproduce
The installed component itself and 2 transitive components have the same build require.
The build require has another dependency (Doxygen).
When installing from lock files using conan 1.60.0 the conan install command fails with the following error message:
"ERROR: Require 'Doxygen' cannot be found in lockfile"
Installing with conan 1.59.0 works perfectly fine.
When I create the lock files with 1.59 and 1.60 the base lock files are identical.
When I create the lock file with a profile conan 1.60 changes the order of the failing build require.
However conan 1.60 fails to install both lock file versions.
Logs
The text was updated successfully, but these errors were encountered: