ceph: arrow 19 compilation fix with protobuf 30; snappy: restore of RTTI patch#427905
ceph: arrow 19 compilation fix with protobuf 30; snappy: restore of RTTI patch#427905nh2 merged 2 commits intoNixOS:stagingfrom
Conversation
7d7e7c7 to
f0ce964
Compare
86883ca to
a30308e
Compare
a30308e to
a46c5ab
Compare
|
Direct link: #426401 (comment) |
To copy #406663 (comment) here: I think (I don't remember' sorry) I removed the |
I'll add a comment for that then to avoid it happening in the future. |
a46c5ab to
ad66cba
Compare
ad66cba to
9e04fd9
Compare
|
@trofi seems I can't request a review since you're not a member of the GitHub group, so I'll ping you directly; could you please just give a nod on whether or not the comment in this version is sufficient information to convey the importance of the patch, and also to provide clear enough instructions to keep it updated in the future (the site feels a bit tedious to navigate on if you're looking for the current rev IMHO)? @nh2 if you could have a glance at the PR in its current state, and double check the Ceph side of things that'd be great. If both of you approve the PR I think we can merge it given that it targets staging anyway, so we'll see any failures on upstream Hydra, and we can fix those using commits to staging-next to avoid extra cycles and get that merged into master soon (enough). |
Restoring the patch sounds fine to me. But to address longer term maintainability health it would be nice if |
As far as I understand (which may well be wrong), any application using dlopen but still requiring to extend a certain class does require that patch, and upstream has rejected that patch on grounds that they want to use the same compilation environment as Google Chrome regardless of breaking other software. grumbleI do not see a future where the patch is not needed, and also given that Google is a very small startup with limited resources and barely any involvement with build systems or CI I fully understand why they simply cannot afford the maintenance burden of a change which removes code actively messing with provided compile options. |
|
Added the comment in google/snappy#189 (comment) |
|
I also think it's not a big thing to carry that CMake-only patch perpetually: Red Hat can have their dislike for static linking and Google can have a dislike for @benaryorg I think the added comment is very good and makes the story clear. |
nh2
left a comment
There was a problem hiding this comment.
This looks good to me. Let's ship it to staging.
|
The ofborg failed with |
|
@benaryorg: One problem: When porting the PR onto 7fd36ee ( |
nh2
left a comment
There was a problem hiding this comment.
Setting back to "request changes" just to check where the hash mismatch comes from; beyond that it's still good to merge.
This is required for *Ceph* to compile, as the comment states, and was accidentally removed. A similar patch is also present for *leveldb* for instance. Also bumps the patch to the appropriate version. partial revert of 5240499 Signed-off-by: benaryorg <[email protected]>
It seems that Arrow 20 which broke compilation initially causes issues with our tests when the patch which was merged upstream is applied. At the same time the bundled Arrow 17 can't work with current Re2 due to its C++ version. The thing that broke the Arrow 19 build is because Arrow 19 is itself not compatible with Protobuf 30, which is pulled in somewhere along the dependency graph by something else causing linking issues. However, the patch for Protobuf 30 compat applies cleanly to our Arrow 19, which means we can dump the older version pin and instead use this patch to get Arrow 19 working again. Signed-off-by: benaryorg <[email protected]>
9e04fd9 to
b727207
Compare
While rebasing it seems I pulled in the hash for an older patch revision ( Updated the hash. |
|
I just tested the branch rebased onto an older commit of master (1a689bc) and it built, however given the merge to staging this wants to rebuild everything starting at curl which is a whole damn lot. |
|
|
It seems that Arrow 20 which broke compilation initially causes issues with our tests when the patch which was merged upstream is applied. At the same time the bundled Arrow 17 can't work with current Re2 due to its C++ version. The thing that broke the Arrow 19 build is because Arrow 19 is itself not compatible with Protobuf 30, which is pulled in somewhere along the dependency graph by something else causing linking issues. However, the patch for Protobuf 30 compat applies cleanly to our Arrow 19, which means we can dump the older version pin and instead use this patch to get Arrow 19 working again.
Resolves #426401
Supersedes #426609 (here's to hoping the next Ceph major version will have less issues with arrow)
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.