Skip to content

Revert Python GCC 11 portability change while replacement is validated - #97

Merged
SicongLiu2000 merged 1 commit into
mainfrom
dev/sicongliu/revert-pr96
Jul 23, 2026
Merged

SicongLiu2000 merged 1 commit into
mainfrom
dev/sicongliu/revert-pr96

Conversation

@SicongLiu2000

@SicongLiu2000 SicongLiu2000 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Revert #96 to restore the repository-wide GCC 13 toolchain and unblock DSLE's Linux R-extension validation while a replacement Python portability design is developed and validated privately.

Regression

#96 changed the root restore-packages.sh from GCC 13 to GCC 11. That script is shared setup: DSLE runs it before building every Linux extension, not only Python.

R 4.5.3 compiles source packages as C23 and its public R_ext/Boolean.h uses a fixed-underlying-type enum. GCC 11 cannot parse that construct. DSLE consequently fails RExtensionLibraryApiTests.InstallPrivatePublic while compiling the lazyeval test fixture:

using C compiler: gcc 11.5.0
gcc -std=gnu2x ...
R_ext/Boolean.h:66:16: error: expected '{' before ':' token

Evidence

Scope

This reverts only squash commit 049f13c4 (#96):

The Logging SDK facade from #94 is unaffected.

Validation

  • Revert applies cleanly to current main.
  • Commit 86d6282 is SSH-signed and GitHub Verified.
  • A DSLE validation branch based exactly on the affected Logging SDK PR changes only the submodule pointer from 049f13c4 to this revert commit.
  • DSLE Linux PR validation build 173362723 is queued to confirm the R pipeline is restored without masking failures.

Follow-up

The Python RHEL9 portability work will be re-landed only after a private cross-repository design proves all of the following together:

  • GCC 13 remains the shared compiler so R 4.5 source-package tests pass;
  • Python's maximum GLIBC requirement is no newer than 2.34;
  • Python has no runtime Boost, libstdc++, or GLIBCXX dependency;
  • DSLE Linux and Windows validation pipelines pass without continueOnError masking.

@SicongLiu2000
SicongLiu2000 marked this pull request as ready for review July 22, 2026 19:54
Copilot AI review requested due to automatic review settings July 22, 2026 19:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Reverts PR #96’s Linux toolchain/linker adjustments to restore the repo-wide GCC 13 compiler selection and remove Python extension static-linking changes, with the goal of unblocking DSLE’s Linux R-extension validation that regressed under GCC 11.

Changes:

  • Switch root restore-packages.sh back to installing/using gcc-13/g++-13 via update-alternatives.
  • Revert Python extension Linux linker flags by removing -static-libstdc++, -static-libgcc, and --exclude-libs,ALL.
  • Revert Boost.Python / Boost.NumPy library discovery back to non-.a lookup without NO_DEFAULT_PATH.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
restore-packages.sh Restores GCC 13 as the shared compiler toolchain used by Linux extension builds.
language-extensions/python/src/CMakeLists.txt Reverts static-linking and Boost static library enforcement introduced in #96 to return to prior Linux linking behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SicongLiu2000
SicongLiu2000 added this pull request to the merge queue Jul 23, 2026
Merged via the queue into main with commit 3ce58a1 Jul 23, 2026
6 checks passed
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.

3 participants