Skip to content

[3.13] libpython: drop the unused C++ compiler - #952

Merged
conda-forge-admin merged 2 commits into
conda-forge:3.13from
MilesCranmerBot:3.13-fix-libpython-cxx-run-export
Oct 13, 2026
Merged

conda-forge-admin merged 2 commits into
conda-forge:3.13from
MilesCranmerBot:3.13-fix-libpython-cxx-run-export

Conversation

@MilesCranmerBot

Copy link
Copy Markdown
Contributor

Why

Backport of #950 (3.14) and #949 (main), for #951. libpython on this branch depends on libstdcxx >=15 through the C++ compiler's run-export, but the library links no C++ runtime: objdump -p on libpython3.13.so.1.0 from the current linux-64 build lists only libc, libm, libpthread, libdl, libutil (and ld-linux). Because python pins libpython exactly, environments that cap libstdc++ below 15 (Julia 1.10 and 1.12 via CondaPkg) cannot install current python 3.13 builds.

Scope

The same two commits as #950: drop {{ compiler('cxx') }} from the libpython output's build requirements, create $PREFIX/lib before copying the library (on macOS that directory was only created by the compiler's libcxx run-export), and bump the build number.

Verification

#950 is the same change and passed CI on all platforms; the fixed 3.14.8 build (hd51c5da_102_cp314) is published without libstdcxx.

MilesCranmerBot and others added 2 commits October 13, 2026 16:21
Backport of conda-forge#950. The shared library links no C++ runtime (libpython3.13.so.1.0 needs only libc, libm, libpthread, libdl and libutil), but the compiler's run-exports made every libpython build require libstdcxx >=15 on Linux and libcxx on macOS. Because python pins libpython exactly, environments capped below libstdcxx 15 (e.g. Julia 1.10 and 1.12 via CondaPkg) cannot install current python 3.13 builds.

Co-authored-by: Miles Cranmer <miles.cranmer@gmail.com>
libpython has no host requirements on this branch, so on macOS the host prefix was only populated through the C++ compiler's libcxx run-export. Without it, lib/ does not exist and cp fails (as seen on conda-forge#950).

Co-authored-by: Miles Cranmer <miles.cranmer@gmail.com>
@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/38421393614. Examine the logs at this URL for more detail.

@isuruf isuruf added the automerge Merge the PR when CI passes label Oct 13, 2026
@conda-forge-admin
conda-forge-admin merged commit 185a469 into conda-forge:3.13 Oct 13, 2026
25 of 26 checks passed
@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: passed
  • github-actions: passed

Thus the PR was passing and merged! Have a great day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Merge the PR when CI passes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants