-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
Summary
Created from #5390 (comment).
The following changes should be made in LightGBM:
- move from supporting
GLIBC >= 2.14toGLIBC >= 2.23 - start producing Python wheels using one of the
manylinuximages (https://github.com/pypa/manylinux)- this implies ending official support for Ubuntu 14.04 in LightGBM
Motivation
It has been really difficult to maintain support for older operating systems and versions of GLIBC.
References:
- [ci] [dask] CI jobs failing with Dask 2022.7.1 #5390 (comment)
- [python] Start supporting Python 3.10 #4893 (comment)
- [python] Start supporting Python 3.10 #4893 (comment)
Moving to newer base image and higher floor for GLIBC and supported Ubuntu version should help to alleviate some maintenance burden.
Description
As described in #5390 (comment), LightGBM should upgrade to a manylinux base image supporting at least GLIBC==2.23 (and not too much higher) for producing wheels.
The manylinux README shows the following compatibility for wheels produced on those images (https://github.com/pypa/manylinux).
https://ubuntu.com/about/release-cycle describes the release cycle for versions of Ubuntu
Using an approach like the following
docker run \
--rm \
--entrypoint="" \
-it quay.io/pypa/manylinux1_x86_64 \
ldd --versionI found that the GLIBC version for the published manylinux images is as follows.
| image | GLIBC |
|---|---|
| manylinux1 | 2.5 |
| manylinux2010 | 2.12 |
| manylinux2014 | 2.17 |
| manylinux_2_28 | 2.28 |
References
Other related conversations:
- discussion from 2020 about possibly using
manylinux_2010: Add arm64 wheel to travis-ci #3421 (comment) - plan to migrate to PEP600
manylinux_x_ytags eventually: Python wheels not PEP 599 compliant; wheels should include libgomp.so.1 #4484 (comment) - discussion about
lightgbm's x86_64 wheel being labeledmanylinux1even though it is not fully compatible with that tag: [python-package] LightGBM wheel on PyPI seems to have the wrong platform tag #4788

