Skip to content
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

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Conversation

jonkeane
Copy link
Member

@jonkeane jonkeane commented Jan 1, 2025

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.

@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@igthub-actions crossbow submit test-debian-experimental-cpp-gcc-15

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Jan 1, 2025
@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@github-actions crossbow submit test-debian-experimental-cpp-gcc-15

Copy link

github-actions bot commented Jan 1, 2025

Revision: 31f3cce

Submitted crossbow builds: ursacomputing/crossbow @ actions-3cb10fc026

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@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 \
Copy link
Member Author

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.

Copy link
Member

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.

Copy link

github-actions bot commented Jan 1, 2025

Revision: 7e63bd1

Submitted crossbow builds: ursacomputing/crossbow @ actions-557c07a1a5

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 1, 2025
@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@github-actions crossbow submit test-debian-experimental-cpp-gcc-15

@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 1, 2025
Copy link

github-actions bot commented Jan 1, 2025

Revision: b9cd037

Submitted crossbow builds: ursacomputing/crossbow @ actions-584d6629d4

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@github-actions crossbow submit test-debian-experimental-cpp-gcc-15

Copy link

github-actions bot commented Jan 1, 2025

Revision: 2f9b2d2

Submitted crossbow builds: ursacomputing/crossbow @ actions-32f24d7238

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@@ -73,6 +73,7 @@ RUN if [ -n "${gcc}" ]; then \
libutf8proc-dev \
libxml2-dev \
libxsimd-dev \
libxxhash-dev \
Copy link
Member Author

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?

Copy link
Member

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 github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 1, 2025
@jonkeane
Copy link
Member Author

jonkeane commented Jan 1, 2025

@github-actions crossbow submit test-debian-experimental-cpp-gcc-15

@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 1, 2025
Copy link

github-actions bot commented Jan 1, 2025

Revision: 891b839

Submitted crossbow builds: ursacomputing/crossbow @ actions-acb43189c9

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@jonkeane jonkeane changed the title [WIP] used C++17 with GCC15 for now [WIP] Use C++17 with GCC15 for now Jan 1, 2025
@@ -73,6 +73,7 @@ RUN if [ -n "${gcc}" ]; then \
libutf8proc-dev \
libxml2-dev \
libxsimd-dev \
libxxhash-dev \
Copy link
Member

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 \
Copy link
Member

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
 

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll try!

Copy link
Member

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...

Copy link
Member Author

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 github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 2, 2025
@jonkeane
Copy link
Member Author

jonkeane commented Jan 4, 2025

@github-actions crossbow submit test-debian-experimental-cpp-gcc-15

@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 4, 2025
Copy link

github-actions bot commented Jan 4, 2025

Revision: 59a5dc0

Submitted crossbow builds: ursacomputing/crossbow @ actions-aa809b4bcc

Task Status
test-debian-experimental-cpp-gcc-15 GitHub Actions

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting changes Awaiting changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants