You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
conan export zero
conan export first
conan export second
conan create third
Depending on the order of requirements in the third/1.0.0@ we get the diamond error, although in the whole graph we do have only one set of hardlocked options, which in this case was unexpected for the user.
It highlights issues with the runtime graph construction and in-recipe external configuration modifications and preferences (not only settings but external options too). It's practically impossible to dynamically alter other subgraphs from a parallel subgraph and in a sequential solution, we'd have an unreliable build.
The question is - what should we do with recommendations for that in the documentation?
The text was updated successfully, but these errors were encountered:
Sorry this was not responded back then @Minimonium
I am closing this as outdated, Conan 2 already changed how options are managed, including new important! options definitions, not conflicting by default, etc.
Please open new tickets if necessary, thanks for the feedback!
Related to #3524, #5530
It's explicitly allowed to hardcode dependencies' options in the documentation.
Alternatively, it's encouraged to use
default_options
. But it becomes a problem comically fast as this test shows:https://github.com/conan-io/conan/blob/develop/conans/test/unittests/model/transitive_reqs_test.py#L1063
@Morwenn has provided us in the Slack with a great minimal example of a conflict of hardlocked options in subgraphs:
Depending on the order of requirements in the
third/1.0.0@
we get the diamond error, although in the whole graph we do have only one set of hardlocked options, which in this case was unexpected for the user.It highlights issues with the runtime graph construction and in-recipe external configuration modifications and preferences (not only settings but external options too). It's practically impossible to dynamically alter other subgraphs from a parallel subgraph and in a sequential solution, we'd have an unreliable build.
The question is - what should we do with recommendations for that in the documentation?
The text was updated successfully, but these errors were encountered: