-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH pybind11 abi output #63
Conversation
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 ( I do have some suggestions for making it better though... For recipe:
|
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 ( |
@conda-forge/core @conda-forge/pybind11 I have a few questions here:
|
Let's say I use pybind11 to wrap a library, say a numerics library. I have two users. User 1 writes a library that consumes my numerics objects. He does not interact with the C++ directly, but only my Python interface. He doesn't care what version of pybind11 I used, he can use anything he wants. His library and mine can have mismatched ABI strings, it doesn't matter. User 2 writes a library that produces my numerics objects. She does interact with the C++ directly; her C++ code returns my C++ objects; pybind11 correctly converts them to Python, even though the conversion itself is defined in a different package than hers. She does not have to have the exact same version of pybind11, but is has to have a matching ABI. The ABI string probably goes overboard, and I"m pretty sure everything else in it will not vary in conda-forge. So only the number should matter. If we change the other parts from now on, say if we realize we are overdoing it, we should also bump the ABI number at the same time. |
@HenryII Any ideas why CMake is being built from source on ppc64le? |
@conda-forge/core @isuruf Can you all check the run exports here? I went with strong but I suspect that might be overkill. |
I was pretty sure pyproject.toml was disabled - that would cause cmake to be built, if it was present (there's no wheel for it). Isn't |
IDK. |
@henryiii why isn't the build using cmake from the conda env? We have it in the build section. |
It should be here: https://github.com/conda/conda-build/blob/cb78dd913b65dad3d82f3ba99f667a8c0c939681/conda_build/build.py#L2545 This should cause the pyproject.toml to be ignored, and then it should only come from the conda spec. |
OK. Not a big deal if this does not work precisely as long as it builds. |
You could try adding --no-build-isolation to the pip line to see if it makes a difference? |
This worked @henryiii! Thanks! |
Okay, that bothers me. Why didn't this happen automatically? It is possible that those "write build scripts" only affect the environment if you don't use the build.sh/bat files? |
@chrisburr Would you happen to know why adding |
I have no idea. I really doubt this matters in the long run though. There are many bugs in conda build that go unfixed due to the limited bandwidth of the developers. |
OK I have switched the run exports to weak for now. This PR is ready to merge! cc @henryiii @conda-forge/pybind11 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
@beckermr thanks a lot for working on this! As consumers of the pybind11 package, is there something additional we need to do in our recipes (i.e., depending explicitly on the |
@beckermr Thanks a lot, that's great! |
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)This PR adds the pybind11 ABI metapackage per the discussion here: conda-forge/conda-forge-pinning-feedstock#849 (comment)
Closes #53