Investigate building manylinux1 compatible wheels
I looked into this a few months ago and it seemed that the large number of required external libs and their dependencies that are not included in the manylinux1 spec would make builds way too complex. However, the benefits of being able to distribute linux wheels on PyPI are worth the effort to try again.
See: https://github.com/pypa/manylinux
See my latest attempt at https://github.com/RobinD42/Phoenix/tree/manylinux/vagrant/manylinux
Now there is manylinux2014 and manylinux_2_24 which should be easier to make.
I've successfully built manylinux_2_28_x86_64 wheels for Python 3.8 - 3.10.
Edit: Never mind. Although I was able to build manylinux_2_28_x86_64 wheels they don't actually work:
- In particular it seems that wheels built against an earlier version of gtk (ex: 3.22.30-11.el8 in AlmaLinux 8) will not work against a later version of gtk (ex: 3.24.37-1.fc38 in Fedora 38), perhaps because gtk (I speculate) does not provide ABI compatibility as version numbers increase 😔.
- In particular if I try to run a wxPython against such a wheel I get startup errors like:
GLib-GObject-CRITICAL **: 16:20:58.548: cannot register existing type 'GSettingsBackend'orGlib-GIO-ERROR **: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'.
- In particular if I try to run a wxPython against such a wheel I get startup errors like:
@RobinD42 If I were to formalize the manylinux build process to be automated via a Dockerfile, would you be available to upload the generated wheels for wxPython 4.2.1?
Having manylinux wheels for wxPython would be hugely useful in my effort to distribute an app of mine, because I wouldn't have to ask Linux users to wait 30+ minutes for wxPython to build from source.
Any news on this?
I also managed to build a manylinux_2_35_x86_64 on Ubuntu 22.04 but I get the same errors as described above eventhough I am running it on the Machine that created the wheel, so I think the problem might not be related gtk?