Skip to content
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

Python 3 uses abi tagged dylibs #6

Closed
anthrotype opened this issue Nov 25, 2017 · 5 comments
Closed

Python 3 uses abi tagged dylibs #6

anthrotype opened this issue Nov 25, 2017 · 5 comments

Comments

@anthrotype
Copy link

anthrotype commented Nov 25, 2017

I noticed that, when using milksnake under python3 (tested with both 3.6.3 on Linux and Windows), the fake/empty extension module that is built to trick distutils/setuptools to generate a binary wheel is still present in the generated wheel package along with the shared library built with the external build tool (e.g. cargo).

When running on python2.7, only the shared lib is present.

Is this normal or intended behaviour?
I thought this empty extension module is only a temporary file that is not needed in the final distribution package. In fact, I can delete the extension module file and I am still able to import the generated cffi module.

@mitsuhiko
Copy link
Member

This is in a way a duplicate of #4

@anthrotype
Copy link
Author

well, not quite, because it also happens on linux...

@mitsuhiko
Copy link
Member

Can you clarify them? The only way in which I see this would be possible is if we get the file wrong and do not overwrite it with the dylib. What's the filename you see on linux for the dylib? I have linux wheels and they only contain my built dylib not an empty dylib.

@mitsuhiko
Copy link
Member

Oh I see. Presumably because on Python 3 things are ABI tagged now so the filenames are something like _whatever.cpython-36m-x86_64-linux-gnu.so. We probably need to use that filename then.

@mitsuhiko mitsuhiko reopened this Dec 7, 2017
@anthrotype
Copy link
Author

you can just try to run bdist_wheel using python 3 (I tried Linux or Windows) and you'll see the dummy cpython extension module is packaged with the wheel.

@mitsuhiko mitsuhiko changed the title with py3 empty extension module is kept, with py2.7 it's removed Python 3 uses abi tagged dylibs Dec 7, 2017
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

No branches or pull requests

2 participants