- 
        Couldn't load subscription status. 
- Fork 3.9k
GH-45225: [C++] Upgrade ORC to 2.1.0 #45226
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
|  | 
| Hmm. There are some CI failures with ORC 2.1.0... Could you remove a workaround for ORC 2.0.2? arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake Lines 4670 to 4672 in 913cb58 
 | 
| Yes, I will take a look and fix it. 
 Just to confirm that we can drop the support of ORC versions prior to 2.1.0, right? | 
| My bad! I found an issue here: https://github.com/apache/orc/blob/5bbafbb847f6e23b5a25d83c4d817741d36d9cc8/c%2B%2B/src/CMakeLists.txt#L221-L222 I should use  | 
| 
 Right. But it's only for bundled ORC. We keep old ORC support for system ORC (not bundled ORC). | 
| @kou Is it fine to disable ORC in  | 
| We can install  diff --git a/ci/docker/ubuntu-20.04-cpp.dockerfile b/ci/docker/ubuntu-20.04-cpp.dockerfile
index 8dc778d544..259c5fb77f 100644
--- a/ci/docker/ubuntu-20.04-cpp.dockerfile
+++ b/ci/docker/ubuntu-20.04-cpp.dockerfile
@@ -106,6 +106,7 @@ RUN apt-get update -y -q && \
         ninja-build \
         nlohmann-json3-dev \
         npm \
+        patch \
         pkg-config \
         protobuf-compiler \
         python3-dev \ | 
      
        
              This comment was marked as outdated.
        
        
      
    
  This comment was marked as outdated.
      
        
              This comment was marked as outdated.
        
        
      
    
  This comment was marked as outdated.
| @github-actions crossbow submit -g cpp | 
| Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-2893fb5e45 | 
| I think this is ready for review @kou | 
| @github-actions crossbow submit -g linux | 
| @github-actions crossbow submit -g wheel -g r | 
| Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-6d7e7577fe | 
| Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-852243f72c | 
### What changes were proposed in this pull request? The change to add support for exporting CMake config and target has introduced some minor issues when the ORC C++ library is used inside a larger CMake project. Mainly there are three issues: - We should prepend (not append) our CMake modules so we always use our own modules when there are naming conflict. - Do not use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR because they are tied to the root project and it is no longer ORC project when we are inside another project. - Add orc_ prefix to our CMake functions to avoid potential conflict. See: apache/arrow#45226 ### Why are the changes needed? We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow. See: apache/arrow#45226 ### How was this patch tested? - Pass all CIs. - Manually integrated it with Apache Arrow. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #2108 from wgtmac/fix_cmake. Authored-by: Gang Wu <ustcwg@gmail.com> Signed-off-by: Gang Wu <ustcwg@gmail.com>
### What changes were proposed in this pull request? The change to add support for exporting CMake config and target has introduced some minor issues when the ORC C++ library is used inside a larger CMake project. Mainly there are three issues: - We should prepend (not append) our CMake modules so we always use our own modules when there are naming conflict. - Do not use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR because they are tied to the root project and it is no longer ORC project when we are inside another project. - Add orc_ prefix to our CMake functions to avoid potential conflict. See: apache/arrow#45226 ### Why are the changes needed? We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow. See: apache/arrow#45226 ### How was this patch tested? - Pass all CIs. - Manually integrated it with Apache Arrow. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #2108 from wgtmac/fix_cmake. Authored-by: Gang Wu <ustcwg@gmail.com> Signed-off-by: Gang Wu <ustcwg@gmail.com> (cherry picked from commit 3eb423a) Signed-off-by: Gang Wu <ustcwg@gmail.com>
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.
+1
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
| After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 7fc8222. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 12 possible false positives for unstable benchmarks that are known to sometimes produce them. | 
Rationale for this change
Apache ORC has just released 2.1.0: https://orc.apache.org/news/2025/01/09/ORC-2.1.0/
We need to upgrade it to avoid occasional download failures of orc-format.
What changes are included in this PR?
Bump Apache ORC to its latest version 2.1.0.
Are these changes tested?
Pass CIs.
Are there any user-facing changes?
No.