Skip to content

add run-export to libpython - #928

Merged
isuruf merged 4 commits into
conda-forge:mainfrom
h-vetinari:libpy_run_exp
Sep 16, 2026
Merged

isuruf merged 4 commits into
conda-forge:mainfrom
h-vetinari:libpy_run_exp

Conversation

@h-vetinari

Copy link
Copy Markdown
Member

For users of libpython like lldb, we should IMO indicate the dependence with a host: dependence as usual, and then inherit the run-export, also as usual. For py<315 this is less relevant (except for the link check), but for 3.15+, where libpython3.{so,dylib} is not part of the python package anymore, this would make sense IMO.

If/once merged, it would also be reasonable to backport this to past python versions IMO, if only for consistency (and again the link check).

@conda-forge-admin

conda-forge-admin commented Sep 7, 2026

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/35135282846. Examine the logs at this URL for more detail.

@h-vetinari

Copy link
Copy Markdown
Member Author

Ping @isuruf

Comment thread recipe/meta.yaml Outdated
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
@h-vetinari

Copy link
Copy Markdown
Member Author

@conda-forge-admin, please relint

@h-vetinari

Copy link
Copy Markdown
Member Author

committed your suggestion; PTAL :)

Comment thread recipe/meta.yaml Outdated
@isuruf isuruf added the automerge Merge the PR when CI passes label Sep 16, 2026
@conda-forge-curator conda-forge-curator Bot removed the automerge Merge the PR when CI passes label Sep 16, 2026
@conda-forge-admin

Copy link
Copy Markdown
Contributor

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

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@isuruf
isuruf merged commit bec19c5 into conda-forge:main Sep 16, 2026
31 checks passed
@isuruf

isuruf commented Sep 16, 2026

Copy link
Copy Markdown
Member

Thanks

@h-vetinari
h-vetinari deleted the libpy_run_exp branch September 16, 2026 22:18
chrisburr added a commit to conda-forge/root-feedstock that referenced this pull request Sep 18, 2026
Same defect as on main, backported for consistency: the build enables
-Dtpython=ON and -Dtmva-pymva=ON, and both libROOTTPython and libPyMVA
link Python3::Python - an embedded CPython, not the extension-module ABI.
The osx-only TPython patch rewires one of the two, so libpython is linked
on every platform.

Today this branch only builds 3.11-3.14, where the python package still
depends on libpython and drags it in transitively, so this is a
declaration fix that silences the overlinking warning rather than a
functional change. It becomes load-bearing the moment 3.15 is added,
since python 3.15 drops that dependency
(conda-forge/python-feedstock#894).

Listed in both host and run because libpython only gained a run-export
on the 3.15 branch (conda-forge/python-feedstock#928). Not a pinned
variant key, so no rerender is needed for it.
chrisburr added a commit to conda-forge/root-feedstock that referenced this pull request Sep 18, 2026
Same defect as on main, backported for consistency: the build enables
-Dtpython=ON and -Dtmva-pymva=ON, and both libROOTTPython and libPyMVA
link Python3::Python - an embedded CPython, not the extension-module ABI.
The osx-only TPython patch rewires one of the two, so libpython is linked
on every platform.

Today this branch only builds 3.11-3.14, where the python package still
depends on libpython and drags it in transitively, so this is a
declaration fix that silences the overlinking warning rather than a
functional change. It becomes load-bearing the moment 3.15 is added,
since python 3.15 drops that dependency
(conda-forge/python-feedstock#894).

Listed in both host and run because libpython only gained a run-export
on the 3.15 branch (conda-forge/python-feedstock#928). Not a pinned
variant key, so no rerender is needed for it.
@isuruf

isuruf commented Sep 18, 2026

Copy link
Copy Markdown
Member

Can you send backport PRs?

conda-forge-admin pushed a commit to conda-forge/root-feedstock that referenced this pull request Sep 19, 2026
The conda build enables -Dtpython=ON and -Dtmva-pymva=ON, and both
libROOTTPython and libPyMVA link Python3::Python, i.e. an embedded
CPython rather than the extension-module ABI. Patch 0004 rewires only
TPython, and only on osx, so libpython is linked on every platform.

The 6.40.04 build already reports this:

  warning Overlinking against "lib/libpython3.12.so.1.0" for
          "lib/libROOTTPython.so.6.40.04"
  warning Overlinking against "lib/libpython3.12.so.1.0" for
          "lib/libPyMVA.so.6.40.04"

Up to 3.14 it was only a declaration problem, because the python package
depends on libpython and so dragged it in transitively. From 3.15 the
python package drops that dependency entirely
(conda-forge/python-feedstock#894), so libpython would be absent from the
host environment and find_package(Python3 COMPONENTS Development) would
fail at configure time.

Listed in both host and run: libpython only gained a run-export on the
3.15 branch (conda-forge/python-feedstock#928), so host alone is not
enough for 3.11-3.14. libpython is not a pinned variant key, so this
needs no rerender on its own.

Verified with a render; the linking result is left to CI.
@h-vetinari

Copy link
Copy Markdown
Member Author

Can you send backport PRs?

Done.

skupr-anaconda added a commit to AnacondaRecipes/python-feedstock that referenced this pull request Sep 21, 2026
Replay #256 topology on origin/master without merge 2a73320.
Keep master patch numbering (0028 site.pth, 0029 zlib-ng, 0030 xxlimited).
Wrap win FT patches in freethreading jinja; add CF conda-forge#928 libpython
unix weak run_exports.

Refs: PKG-15601
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