fix(native): Use GCC14 in runtime image if cudf is enabled#26967
Merged
czentgr merged 1 commit intoprestodb:masterfrom Jan 15, 2026
Merged
fix(native): Use GCC14 in runtime image if cudf is enabled#26967czentgr merged 1 commit intoprestodb:masterfrom
czentgr merged 1 commit intoprestodb:masterfrom
Conversation
Contributor
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the prestissimo runtime Docker image build to automatically switch from GCC 12 to GCC 14 when GPU/cuDF support is enabled, ensuring compatibility with Velox’s new compiler version checks while preserving the existing behavior for non-GPU builds. Flow diagram for conditional GCC14 enabling in prestissimo runtime buildflowchart TD
A[Start Docker build stage
EXTRA_CMAKE_FLAGS, NUM_THREADS, BUILD_TYPE, BUILD_DIR, BUILD_BASE_DIR] --> B{EXTRA_CMAKE_FLAGS contains
-DPRESTO_ENABLE_CUDF=ON}
B -- Yes --> C[Unset CC and CXX]
C --> D[Source /opt/rh/gcc-toolset-14/enable
and activate GCC14]
D --> E[Run make in /prestissimo/
cmake-and-build with
EXTRA_CMAKE_FLAGS,
NUM_THREADS,
BUILD_TYPE,
BUILD_DIR,
BUILD_BASE_DIR]
B -- No --> E
E --> F[Run ccache -sz -v]
F --> G[End Docker build stage]
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
be404a9 to
5b7aabe
Compare
Contributor
Author
|
Test build with GCC14 was successful. https://github.com/prestodb/presto/actions/runs/21006928465/job/60391735818?pr=26967 We will bring in GCC14 to make sure there is no regression via the adapters job which is currently disabled. |
5b7aabe to
5ea96f3
Compare
Contributor
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The new RUN step relies on Bash-specific features (
[[ … ]],source), so either ensure the image uses Bash as the default shell via aSHELLdirective or rewrite this snippet to be POSIX-compatible (e.g.,[and.) to avoid runtime failures on images where/bin/shis not Bash. - The condition only matches the exact substring
-DPRESTO_ENABLE_CUDF=ONinEXTRA_CMAKE_FLAGS; consider a more robust check (e.g., handling whitespace variations or case-insensitivity) if users may specify this CMake option in different forms.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new RUN step relies on Bash-specific features (`[[ … ]]`, `source`), so either ensure the image uses Bash as the default shell via a `SHELL` directive or rewrite this snippet to be POSIX-compatible (e.g., `[` and `.`) to avoid runtime failures on images where `/bin/sh` is not Bash.
- The condition only matches the exact substring `-DPRESTO_ENABLE_CUDF=ON` in `EXTRA_CMAKE_FLAGS`; consider a more robust check (e.g., handling whitespace variations or case-insensitivity) if users may specify this CMake option in different forms.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
majetideepak
previously approved these changes
Jan 14, 2026
5ea96f3 to
e356585
Compare
majetideepak
approved these changes
Jan 15, 2026
This was referenced Mar 31, 2026
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Velox PR github.com/facebookincubator/velox/pull/15986 introduces a check on the compiler version.
The dependency image ships with gcc12, gcc14 and clang21 but only builds with gcc12.
If the GPU support is enabled (PRESTO_ENABLE_CUDF) the build will fail.
This PR adds a check if this config is used and switches to gcc14 if this is the case.
Description
Motivation and Context
Impact
Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.