-
Notifications
You must be signed in to change notification settings - Fork 36
Pin nlohmann_json to 3.12.0 #291
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
Pin nlohmann_json to 3.12.0 #291
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #291 +/- ##
=======================================
Coverage 82.15% 82.15%
=======================================
Files 20 20
Lines 958 958
Branches 88 88
=======================================
Hits 787 787
Misses 171 171 🚀 New features to boost your workflow:
|
cc @JohanMabille this is actually related to what I was mentioning yesterday Here the keyword REQUIRED is put to use (so building xeus would need anything above 3.11) and here the keyword EXACT is put to use (building downstream projects would need exactly 3.12) Does this sound like a mismatch to you ? |
I think we just need to remove the pins overall Check : emscripten-forge/recipes#2270 Just remove both pins and we should be good |
@anutosh491 @vgvassilev As said in my discord message I already tried this and it didn't work (see https://github.com/compiler-research/xeus-cpp/actions/runs/14604401760/job/40970026439?pr=291 ). That is the reason I pinned xeus as a temporary fix until the error with everything unpinned could be resolved. |
There are differences! Your commit uses xeus-lite 3.0.1 and the latest is 3.1.0 Please remove the pins and build again and we should be good I think ! Change the PR heading accordingly |
@anutosh491 Done. I've also done the same to my PR in CppInterOp here compiler-research/CppInterOp#566 . Please approve both at the same time |
Your pr still uses xeus 5.2.0 for the native case. We technically need to unpin this too https://github.com/compiler-research/xeus-cpp/blob/main/environment-dev.yml#L12 which hasn't been done. |
Removed that pin too now |
It is not a mismatch. Xeus can work with any version compatible with 3.11, so we require 3.11. Any downstream project that will exchange json objects with xeus needs to be built with the same version as the one used to build xeus for ABI compatibility reasons. The pinning on nlohmann_json ensures this; otherwise, you may endup downloading a newer version of nolhmann_json from conda-forge and notive the failure at build time only. Therefore, this pinning should not be removed, but updated to that used to build xeus. A better solution would be a global pinning on conda-forge, but we don't have it for now. |
Yes this might be the way forward. Let's pin it to 3.12.0 for now |
@anutosh491 Done, but this doesn't work for the native build, and probably explains why xeus wouldn't upgrade to 5.2.1 for the native build when unpinned. |
Ahh I think the error calls for building xeus-zmq with the latest xeus which hasn't been done. Looking into it ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now ready. Thanks !
Description
Please include a summary of changes, motivation and context for this PR.
The latest release of xeus got released, and requires nlohmann_json to be 3.12.0 . Until this PR is in the ci will fail
(see https://github.com/compiler-research/xeus-cpp/actions/runs/14604191183/job/40969335106#step:5:97).
Fixes # (issue)
Type of change
Please tick all options which are relevant.