Skip to content

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

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant