Skip to content

Conversation

@mgorny
Copy link

@mgorny mgorny commented Jan 15, 2026

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.

Use the sysconfigdata from the shared library build rather than the static one. The main difference is that this ensures that programs link to the shared Python library rather than the static library. Other differences are mostly superficial (build directories, test invocation commands).

Also use the build-details.json from there. Unlike the static build version, it has all the data, including static and shared library, and extension build details.

Fixes #565

Use the sysconfigdata from the shared library build rather than the
static one. The main difference is that this ensures that programs link
to the shared Python library rather than the static library. Other
differences are mostly superficial (build directories, test invocation
commands).

Fixes conda-forge#565

Signed-off-by: Michał Górny <[email protected]>
…6.01.13.21.47.52

Other tools:
- conda-build 25.11.1
- rattler-build 0.55.0
- rattler-build-conda-compat 1.4.10
@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Jan 15, 2026

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

@mgorny
Copy link
Author

mgorny commented Jan 16, 2026

Okay, so:

  1. Looks like my change is also causing python3-config --ldflags --embed to link against the dynamic library, which seems reasonable. However, tests need updating for that.
  2. Given Move libpython.so to another output #843, perhaps instead of trying to force shared/static from a single test, I'll just split the libraries and test each one separately.

@mgorny
Copy link
Author

mgorny commented Jan 16, 2026

Oh wait, that's for 3.15+ only.

Now python3-config defaults to shared linking, so perform that part of
the test first.  Then remove the shared libraries to force static
linking.

Signed-off-by: Michał Górny <[email protected]>
@mgorny
Copy link
Author

mgorny commented Jan 16, 2026

Ok, it's green now.

requires:
- {{ stdlib('c') }}
- {{ compiler('c') }}
- ripgrep

Choose a reason for hiding this comment

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

leftover from debugging?

Copy link
Author

@mgorny mgorny Jan 16, 2026

Choose a reason for hiding this comment

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

No, it's actually used in tests. However, it was listed only for python output and was missing for libpython-static.

Copy link
Member

@isuruf isuruf left a comment

Choose a reason for hiding this comment

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

This is gonna make recipes like uWSGI link to the shared python library instead of the static library from a build number bump.

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.

LDLIBRARY is set to libpython3.9a although no static lib is included in mambaforge for Linux

4 participants