-
-
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 looser ABI compat for pybind11 #79
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 ( |
@conda-forge-admin rerender |
…nda-forge-pinning 2022.03.18.12.16.01
@conda-forge/core @conda-forge/pybind11 @isuruf this is ready for review! |
@conda-forge-admin rerender |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/pybind11-feedstock/actions/runs/2005823833. |
@conda-forge-admin rerender |
@conda-forge-admin rerender |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/pybind11-feedstock/actions/runs/2005924048. |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/pybind11-feedstock/actions/runs/2005929942. |
@conda-forge-admin rerender |
…nda-forge-pinning 2022.03.18.16.41.31
@isuruf This is ready for another look! |
Any other comments here @isuruf? |
Great! Will a guide be added to the knowledge base? |
Any news on this? |
Needs to be merged locally and rerender. Was waiting on review from @isuruf plus migration work. |
I'm experience quite some extra work from the ABI check (and the fact that I'm not on the same GCC version at our computing center). It would be great if this could be merged soon! |
At the risk of being pedantic: it would be great if this could be merged soon |
I guess that we are not very numerous of feeling this problem, but still, it is quite annoying for me. I am using several pybind11 modules, taking a class of one as the argument of the other. Now, every time GCC is updated I will have to manually rebuild all involved modules. And things are worse if e.g. the CI is not yet switch to the new compiler version. It would be really great if this could be merged! |
I don't think we're going to get traction on this issue/PR. It might be better to focus on the upstream one. |
@varlackc please raise that as a new issue |
I don't see what makes this a CondaForge-specific issue. This seems to me like an attempt to sneak in a change to pybind11 without going through the main repository. What I would like to better understand: when is the ABI compatibility criterion in pybind11 too strict, and what can be done to make it more relaxed without breaking things? (The same also applies to nanobind, which uses a similar ABI tag) Let me add one correction: simply using different versions of GCC alone is not enough to cause issues -- pybind11 queries the ABI compatibility tag of libstdc++ ( |
GXX_ABI_VERSION is too broad. Yes, there might have been an ABI break because of name mangling issues, but there is a compatibility scheme that adds a aliased symbol. See |
I can comment on what causes problems in my case. Suppose that I have a library In practice, this breaks when the Linux compiler on conda-forge is updated. Either of two solutions would be satisfactory for me:
|
Unfortunately, Adding some CondaForge-specific meta-tag related to the The documentation page you linked (https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/C_002b_002b-Dialect-Options.html) also mentions I would suggest to continue the discussion on the pybind11 repository since it is now spread out over two places: pybind/pybind11#3793 (comment). |
I want to be very clear on one point. Conda-forge reserves the right to, and regularly does in fact, patch upstream codes in order to improve how they work within the conda ecosystem. Changing how pybind11 handles ABI compat in the conda-forge feedstock is not sneaking in changes by going around upstream. |
pybind11's ABI story has changed a lot. closing this per #96 |
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)closes #77