GH-43688: [C++] Prevent Snappy from disabling RTTI when bundled#43706
GH-43688: [C++] Prevent Snappy from disabling RTTI when bundled#43706kou merged 6 commits intoapache:mainfrom
Conversation
|
@github-actions crossbow submit -g cpp |
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g python |
This comment was marked as outdated.
This comment was marked as outdated.
|
cc @kou |
|
CI failures are unrelated. |
| set(SNAPPY_ADDITIONAL_CXX_FLAGS "${SNAPPY_ADDITIONAL_CXX_FLAGS} -frtti") | ||
| endif() | ||
|
|
||
| if(NOT MSVC) |
There was a problem hiding this comment.
No, we cannot, see build error in https://github.com/apache/arrow/actions/runs/10401760097/job/28804899409
There was a problem hiding this comment.
Ah, https://github.com/apache/arrow/pull/43706/files#r1719156798 will fix it. I'll try it.
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
|
@github-actions crossbow submit -g cpp |
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g cpp -g python |
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g cpp -g python |
|
Revision: 1d0aefa Submitted crossbow builds: ursacomputing/crossbow @ actions-5b7a47bd42 |
|
After merging your PR, Conbench analyzed the 7 benchmarking runs that have been run so far on merge-commit a970fd7. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 143 possible false positives for unstable benchmarks that are known to sometimes produce them. |
In PR #12320, we enabled more compression algorithms for Arrow C++, but had to disable Snappy because of build issues. Since then, the Arrow project merged a PR (apache/arrow#43706) which enables RTTI when building Snappy. Therefore, we can now enable Snappy in the OSS-Fuzz builds of Arrow C++ as well.
Rationale for this change
Snappy's CMakeLists.txt unconditionally disables RTTI. This is incompatible with some other options, such as activating UBSAN for a fuzzing build:
google/snappy#189
What changes are included in this PR?
Add
-frttiat the end of compiler options when compiling a bundled Snappy build.Are these changes tested?
On CI; also manually checked that this allows enabling Snappy on OSS-Fuzz builds.
Are there any user-facing changes?
No.