-
Notifications
You must be signed in to change notification settings - Fork 28
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
art:build-info create fails for header-library #166
Comments
Hi @CJCombrink, Thanks for reporting. A couple of questions:
|
Yes, my CI pipeline installs from scratch each time (which is problem for another day). Also to reproduce locally I had to install it now.
These are my steps to reproduce:
Just a comment on the steps: As mentioned, my package depends on a package that depends on sqlpp11 LibA
LibB (this one)
I hope this helps |
I have now marked
libpq node dump
|
I have now upgraded to the latest conan but it does not make any difference I am able to make progress by specifying to build the specific packages as part of the create step
PS: I have dropped the install step from my local testing It might be that this is a bug in conan instead of this repo? |
Also getting the same in another package but this time artifact_type : package nlohmann_json node dump
|
Hi @CJCombrink: I looked at the information provided and although I haven't reproduced the issue locally, I have made a few tries and the issue might come from the package type of the transitive dependencies. Let me explain: The packages reported ( In the case of For I could not find a good reference in the documentation explaining this "skip" download binary behavior, only this example at https://docs.conan.io/2/ci_tutorial/products_pipeline/multi_product.html
And the reference at https://docs.conan.io/2/reference/conanfile/methods/requirements.html#package-type-trait-inferring does not help much with that. So yeah, it is not straightforward to understand behavior and the solution for the build info is not that clear to me, so I will need to discuss a possible fix internally. Thanks again for the report. I will come back (hopefully) with a fix! 😄 |
Thanks for reporting back. I will be on holiday util after Jan 6 so will not need or be able to provide updates until then. |
@CJCombrink thank you for the heads-up. Anyway, while we work on a fix, you can add this configuration entry to the global conan conf so binary downloads are always forced See for reference: https://docs.conan.io/2/reference/config_files/global_conf.html You can also use it in the command line if you just want to apply it only for that command:
|
A proper fix would be good (I have not checked the PR yet) Just want to mention the suggested workaround of |
Could you please test my changes? You can just overwrite It's good to know the workaround works, but I'm not a big fan of force downloading unnecessary things as we are trying to reduce unnecessary traffic as much in our project as we can, costs can go up quickly with bigger projects and frequent CI builds... |
Hi @dnoveczky-ntr, Your error described at #168 (comment) is a similar case as the one described here but the solution proposed is based on a bad diagnosis IMO. The recipe in the log is Meson, and it is not a recipe-only node, but an actual package that packages files (at least the recipe in conan center https://github.com/conan-io/conan-center-index/blob/master/recipes/meson/all/conanfile.py). However, if you look at the JSON file log you posted there, the Meson node is also marked as binary: skip, and therefore, the package folder is not present in the cache which leads to the error of this issue. I am not sure why the meson binary is skipped in your case, Conan probably downloads the recipe for some reason but the package of Meson is not needed for building. Maybe your meson tool requirement affects the package ID of your dependencies? If you could post a complete JSON with the meson node it would be helpful to debug this case as well. Anyway, we will try to fix the issue for all the skip binary cases in PR #167 (still not finished). |
Hey @danimtb, Thanks for taking the time to look at the issue. Thanks again for taking the time to deal with this issue! |
It means that the packages that are skipped will not be added to the build info as they are not available in the cache. If you want to force the include, you would have to use We believe this is the best trade-off to solve this issue. Thank you! |
Trying to run
conan art:build-info create
on my package fails with the following stacktraceThe package that triggers this is the sqlpp11 package.
sqlpp11 dictionary dump
I did some printing and this is what I see:
Thus the check in _get_local_artifacts resolves to
None
sinceartifact_type == "package"
but it does not have apackage_folder
Any help will be appreciated
Edit: Forgot to mention
Conan version 2.10.1 (also tested on 2.10.3)
sqlpp11 is an indirect dependency of my library
It appears that this issue is an duplicate of: #165
The text was updated successfully, but these errors were encountered: