packagecontrol / channel

Package Control Libraries Channel
https://packagecontrol.github.io/channel/
3 stars 5 forks source link

Add codemp wheel to dependencies #29

Closed ghyatzo closed 1 month ago

ghyatzo commented 1 month ago

I am developing a plugin that needs this library, and would love to be able to just have it ready without needing to ship it with the plugin itself.

deathaxe commented 1 month ago

Importing codemp fails on Windows.

>>> import codemp
Traceback (most recent call last):
  File "__main__", line 1, in <module>
  File "<ST>\Data\Lib\python38\codemp\__init__.py", line 1, in <module>
    from .codemp import *
ImportError: DLL load failed while importing codemp: Das angegebene Modul wurde nicht gefunden.

It seems to require python3.dll, which is not shipped with ST.

ghyatzo commented 1 month ago

Thank you, I'll see what I can do.

Edit: thank you for opening an issue, I didn't realize it was a sublime issue.

deathaxe commented 1 month ago

It may also be a design fault on libraries or rust build tool chain's end.

I've seen such issues only with packages shipping compiled rust libraries so far.

ghyatzo commented 1 month ago

I've been investigating it and there is some windows specific cross compilation shenanigans regarding python.dll. But I'd need to test it. I thought I was out of the weeds by seeing it in the normal python 38 interpreter.

ghyatzo commented 1 month ago

This could be an issue of the wheel being built with abi3 support. Where on windows it is expected to have a python3.dll while on unix-likes this dependency is managed directly by the interpreter itself.

from manylinux compliance

Note that libpythonX.Y.so.1 is not on the list of libraries that a manylinux1 extension is allowed to link to. Explicitly linking to libpythonX.Y.so.1 is unnecessary in almost all cases: the way ELF linking works, extension modules that are loaded into the interpreter automatically get access to all of the interpreter’s symbols, regardless of whether or not the extension itself is explicitly linked against libpython.

I'll need to test this with a full cp38-cp38-win_amd64 wheel instead, and see if that is indeed the case

ghyatzo commented 1 month ago

Hi @deathaxe, I've changed the wheel for windows, and now is a version without abi. I've tested on a windows machine I had laying around, and it seems to work now, can you test again on yours please? :)