Open jjcasmar opened 2 months ago
Hi @jjcasmar
Thanks for your report and the details to reproduce.
@AbrilRBS has been investigating this, it is possible that there is some unexpected relationship in the nodejs
and emsdk
that is making this generate the conflict. So the conflict is not solved by the profile tool-requires
because it seems it is originated by the tool-requires
themselves.
We will check first the recipes from ConanCenter to see if it can be fixed there. I think we can keep the ticket here until it is confirmed it can be changed in recipes.
Sorry we didn't manage to follow up on this. I can confirm that this is still happening, a bit simpler repro:
conan install --requires=zlib/1.3.1 --profile:host=profile --settings:host="*:build_type=Release" --settings:host="&:build_type=Debug"
...
ERROR: Version conflict: Conflict between nodejs/20.16.0 and nodejs/16.3.0 in the graph.
Conflict originates from zlib/1.3.1
Also, to clarify, this doesn't seem a bug in the Conan client, but some misalignment of versions. If I do:
conan install --tool-requires=nodejs/16.3.0 --tool-requires=emsdk/3.1.50
It works, but:
conan install --tool-requires=nodejs/20.16.0 --tool-requires=emsdk/3.1.50
...
ERROR: Runtime Error: Could not process 'emsdk/3.1.50' with 'nodejs/16.3.0'
So mostly is that those versions are not designed to work well together. It needs to be investigated if this can be improved, but still seems something related to the specific Conan recipes from ConanCenter, not the Conan client.
Describe the bug
When using a profile with a tool_requires, I am getting a conflict between some dependency of the tool and a dependency of the recipe
conan install command
throws
According to discussion in Slack channel, the dependency in the profile should override others, but in this case still fails.
conanfile.py
x86_64-gcc-10
profilewasm-clang-16
profileHow to reproduce it
No response