-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[WIP] Use C++17 with GCC15 for now #45150
base: main
Are you sure you want to change the base?
Conversation
@igthub-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
Revision: 31f3cce Submitted crossbow builds: ursacomputing/crossbow @ actions-3cb10fc026
|
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
@@ -111,7 +111,7 @@ RUN /arrow/ci/scripts/install_sccache.sh unknown-linux-musl /usr/local/bin | |||
# Prioritize system packages and local installation. | |||
ENV ARROW_ACERO=ON \ | |||
ARROW_AZURE=ON \ | |||
ARROW_BUILD_TESTS=ON \ | |||
ARROW_BUILD_TESTS=OFF \ |
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.
I'll revert this, but since we don't build tests on CRAN I'm checking to see if this being off gets us to a successful build.
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.
Could you try BUILD_WARNING_LEVEL=PRODUCTION
instead?
It doesn't add -Werror
.
Revision: 7e63bd1 Submitted crossbow builds: ursacomputing/crossbow @ actions-557c07a1a5
|
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
Revision: b9cd037 Submitted crossbow builds: ursacomputing/crossbow @ actions-584d6629d4
|
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
Revision: 2f9b2d2 Submitted crossbow builds: ursacomputing/crossbow @ actions-32f24d7238
|
@@ -73,6 +73,7 @@ RUN if [ -n "${gcc}" ]; then \ | |||
libutf8proc-dev \ | |||
libxml2-dev \ | |||
libxsimd-dev \ | |||
libxxhash-dev \ |
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.
Without this I had linker errors with xxhash
. Though I'm surprised this isn't needed for debian 12?
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.
Ah, sid/experimental's liblz4.so
uses libxxhash.so
.
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
Revision: 891b839 Submitted crossbow builds: ursacomputing/crossbow @ actions-acb43189c9
|
@@ -73,6 +73,7 @@ RUN if [ -n "${gcc}" ]; then \ | |||
libutf8proc-dev \ | |||
libxml2-dev \ | |||
libxsimd-dev \ | |||
libxxhash-dev \ |
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.
Ah, sid/experimental's liblz4.so
uses libxxhash.so
.
ARROW_DATASET=ON \ | ||
ARROW_DEPENDENCY_SOURCE=SYSTEM \ | ||
ARROW_DATASET=ON \ | ||
ARROW_FLIGHT=ON \ | ||
ARROW_FLIGHT_SQL=ON \ | ||
ARROW_GANDIVA=ON \ | ||
ARROW_GANDIVA=OFF \ |
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.
Can we use newer LLVM instead?
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 9f04d33f83..fb7d5a4ce5 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -1011,6 +1011,7 @@ tasks:
ARCH: "amd64"
DEBIAN: "experimental"
GCC: "15"
+ LLVM: "19"
flags: "-e CMAKE_CXX_STANDARD=20"
image: debian-cpp
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.
I'll try!
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.
Sorry... This didn't help...
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.
Ah yeah, for posterity / anyone else reading:
/usr/include/c++/15/ciso646:46:4: error: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Werror=cpp]
46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
| ^~~~~~~
cc1plus: all warnings being treated as errors
I think this is ok for now. I'm preparing the small thrift patch for CRAN. We don't build tests or Gandiva there so we won't get hit with these. We can deal with them (or ideally they are dealt with upstream...) when GCC 15 is actually released
@github-actions crossbow submit test-debian-experimental-cpp-gcc-15 |
Revision: 59a5dc0 Submitted crossbow builds: ursacomputing/crossbow @ actions-aa809b4bcc
|
Rationale for this change
Run GCC15 crossbow job with C++17. I'll make an issue if we end up wanting to use this.
Separately: I've been getting a lot of connection reset on downloading dependencies in cmake when I run this locally. I haven't had a chance to figure out why this is, but it seems to happen to me locally pretty consistently today.
Recv failure: Connection reset by peer // OpenSSL SSL_read: Connection reset by peer, errno 104 // Failed receiving HTTP2 data: 56(Failure when receiving data from the peer) // Connection #1 to host codeload.github.com left intact
in case anyone has seen this before and has an idea what's up there.