Skip to content

Add a libpython3.dylib to support ABI3 applications - #885

Open
isuruf wants to merge 1 commit into
conda-forge:mainfrom
isuruf:libpython3.dylib
Open

Add a libpython3.dylib to support ABI3 applications#885
isuruf wants to merge 1 commit into
conda-forge:mainfrom
isuruf:libpython3.dylib

Conversation

@isuruf

@isuruf isuruf commented Jul 28, 2026

Copy link
Copy Markdown
Member

Note that this is not for extensions like numpy. It is for executbales like lldb.

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

See conda-forge/lldb-feedstock#110. cc @h-vetinari

Note that this is not for extensions like numpy. It is for
executbales like lldb.
@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/30320622228. Examine the logs at this URL for more detail.

@h-vetinari

Copy link
Copy Markdown
Member

Thanks, this LGTM! Once this is approved/merged, we're gonna need this on all the maintenance branches too

@isuruf

isuruf commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

We need to figure out how to port it to dev given #842

@h-vetinari

Copy link
Copy Markdown
Member

We need to figure out how to port it to dev given #842

I was mainly concerned with needing this for python_min and then the intervening versions (as python_min climbs over time); 3.15 has more time, as far as I'm concerned. 🙃

Comment thread recipe/meta.yaml
- for f in ${CONDA_PREFIX}/lib/python*/_sysconfig*.py; do echo "Checking $f:"; if [[ `rg @[^@]*@ $f` ]]; then echo "FAILED ON $f"; cat $f; exit 1; fi; done # [linux64 or osx]
- test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.a # [unix]
- test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.nolto.a # [unix]
- test -f ${PREFIX}/lib/libpython3${SHLIB_EXT} # [unix]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we have to restrict this to the non-debug ABI?

Suggested change
- test -f ${PREFIX}/lib/libpython3${SHLIB_EXT} # [unix]
- test -f ${PREFIX}/lib/libpython3${SHLIB_EXT} # [unix and (build_type != "debug")]

@isuruf

isuruf commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

I was mainly concerned with needing this for python_min and then the intervening versions (as python_min climbs over time); 3.15 has more time, as far as I'm concerned. 🙃

You need libpython3.so at runtime of lldb, so it needs to be present for 3.15 too. However since there's a new libpython with 3.15, just installing python is not enough for a lldb compiled with 3.11

@h-vetinari

Copy link
Copy Markdown
Member

You need libpython3.so at runtime of lldb, so it needs to be present for 3.15 too.

Of course. I just meant that 3.15 only goes GA in October.

@isuruf

isuruf commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

I just meant that 3.15 only goes GA in October.

Yes, but adding a feature to refactor in October seems bad. We should port libpython output to older python versions too (but make it a dependency of python unlike 3.15)

@h-vetinari

Copy link
Copy Markdown
Member

I'm not saying we should leave it in a broken state; just that we'd have 3 months to fix it, whereas for the other python versions it would be useful right away

@isuruf

isuruf commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

I really don't want to put libpython3.dylib in python and in three months move it into libpython. Can you send a PR to add libpython to main?

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