Skip to content

GH-51651: [C++][CI] Fix static linking for system Abseil and bundled GCS - #51653

Merged
raulcd merged 2 commits into
apache:mainfrom
tadeja:51651-abseil-and-gcs
Oct 1, 2026
Merged

raulcd merged 2 commits into
apache:mainfrom
tadeja:51651-abseil-and-gcs

Conversation

@tadeja

@tadeja tadeja commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Rationale for this change

Static Arrow linking can fail for bundled GCS and system Abseil.

What changes are included in this PR?

Export Abseil dependencies via CMake target and pkg-config metadata.

Are these changes tested?

To be additionally verified by CI.

Are there any user-facing changes?

This improves downstream static linking.

Was AI used for this PR?

PR code and description written by:

  • Human
  • AI

Reviewed before submission by:

  • Human
  • AI
  • Not reviewed

@tadeja tadeja changed the title GH-51651: Fix static link failure for system Abseil and bundled GCS GH-51651: [C++][CI] Fix static link failure for system Abseil and bundled GCS Sep 30, 2026
@tadeja

tadeja commented Sep 30, 2026

Copy link
Copy Markdown
Member Author

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

@github-actions

Copy link
Copy Markdown
Unable to match any tasks for `test-debian-13-cpp`
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/36710999199

@raulcd

raulcd commented Sep 30, 2026

Copy link
Copy Markdown
Member

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

@github-actions

Copy link
Copy Markdown

Revision: d441634

Submitted crossbow builds: ursacomputing/crossbow @ actions-acf6d722bf

Task Status
test-debian-13-cpp-amd64 GitHub Actions
test-debian-13-cpp-i386 GitHub Actions
test-debian-experimental-cpp-gcc-15 GitHub Actions

@tadeja

tadeja commented Sep 30, 2026

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit test-ubuntu-22.04-cpp-bundled

# Bundled google-cloud-cpp needs system Abseil for static linking.
# Abseil .pc files include indirect link dependencies that base -labsl_* flags omit
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

should we add an output message if not?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good idea, added.

@github-actions github-actions Bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Sep 30, 2026
@github-actions

Copy link
Copy Markdown

Revision: d441634

Submitted crossbow builds: ursacomputing/crossbow @ actions-21d737ae20

Task Status
test-ubuntu-22.04-cpp-bundled GitHub Actions

@github-actions github-actions Bot added awaiting change review Awaiting change review awaiting changes Awaiting changes and removed awaiting changes Awaiting changes awaiting change review Awaiting change review labels Sep 30, 2026
@tadeja
tadeja marked this pull request as ready for review September 30, 2026 13:04
Copilot AI balanced review requested due to automatic review settings September 30, 2026 13:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The CMake and pkg-config dependency exports consistently address the reported static-link failures.

Review effort: Balanced
Findings: None

What changed in this PR

Exports system Abseil dependencies needed by static Arrow builds using bundled GCS.

Changes:

  • Adds Abseil targets to Arrow’s static CMake interface.
  • Adds matching dependencies to static pkg-config metadata.
File Description
cpp/​src/​arrow/​CMakeLists.txt Exports required Abseil CMake targets.
cpp/​cmake_modules/​ThirdpartyToolchain.cmake Adds available Abseil packages to arrow.pc.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@tadeja tadeja changed the title GH-51651: [C++][CI] Fix static link failure for system Abseil and bundled GCS GH-51651: [C++][CI] Fix static linking for system Abseil and bundled GCS Sep 30, 2026
@raulcd

raulcd commented Oct 1, 2026

Copy link
Copy Markdown
Member

@github-actions crossbow submit example-cpp-minimal-build-static*

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Revision: 207fb17

Submitted crossbow builds: ursacomputing/crossbow @ actions-2d4ac1008a

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions

@raulcd raulcd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This seems reasonable to me and fixes the CI issues. @kou do you want to give it a quick check? Otherwise I'll merge before the feature freeze later in the afternoon (currently my early morning).

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Oct 1, 2026

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+1

@raulcd
raulcd merged commit 275872b into apache:main Oct 1, 2026
64 of 66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants