-
Notifications
You must be signed in to change notification settings - Fork 2k
[rapidjson] fix for gcc14 compile #23662
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
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
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.
Hi! Thanks a lot for the contribution, we appreciate it - I don't see an URL in the patch_source field, so it's hard to trace theis back to an upstream issue. Has it been fixed upstream?
Conan v1 pipeline ✔️All green in build 4 (
Conan v2 pipeline ✔️
All green in build 4 (
|
@RubenRBS 1.1.0 is the latest release. This now merges a single line (removing the syntax error on an unused line) with rapidjson's upstream to compile on GCC 14. |
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.
Would this potentially break builds? I'm thinking no, since if it wouldn't compile anyways then it can't be used, but just checking. If not then LGTM.
- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } | ||
- | ||
//! implicit conversion to plain CharType pointer |
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.
Looking at the commit history, it seems there was another change immediately after which explicitly disabled the copy assignment operator by making it private, perhaps it would be a good idea to include that change too if we added this? (https://github.com/Tencent/rapidjson/commits/master/?after=ab1842a2dae061284c0a62dca1cc6d5e7e37e346+734, specifically this commit: Tencent/rapidjson@862c39b).
It looks like rapidjson no longer do releases . if this fix is already in the available snapshots from more recent dates, please use those. We are not going to backport code if there are already released versions of the recipe that include the fix. Does |
It's just the one unused line you need to delete for gcc 14 to work. If anyone were to have ever used that line, it wouldn't have compiled on any compiler anyway. I just found a UndefinedBehavior issue with rapidjson as well. We ended up just forking the fixes to our local conan-center repo fixing the undefined behavior and fixing gcc 14. It seems like nobody uses the recipe here anyway. And, honestly, rapidjson probably should just be viewed as deprecated and a security risk anyway. They haven't updated a release since 2016. There are commits still going into the rapidjosn repository, but we're hesitant to bring in a "cci" release to our production build. We already switched to nlohmann/json for the most part, but have one legacy app still built on rapidjson. |
This is the approach that has been already been followed by other maintainers such as Conda and vcpkg - precisely to reflect the fact that there is are no new tagged/versioned releases, but development has continued, with bugfixes such as the one requested here. I can see that |
rapidjson/1.1.0
GCC 14 fails to compile rapidjson 1.1.0. Looks like a syntax error actually. You can't set a constant member.