lxml build failure on CPython 3.13t (CPython without global interpreter lock via --disable-gil build option)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lxml |
Confirmed
|
Low
|
Unassigned |
Bug Description
Building lxml fails on CPython `3.13t` (disabled GIL).
Building lxml on default CPython `3.13` however works fine.
- https:/
- https:/
- https:/
- https:/
```
$ lsb_release -sd
"Arch Linux"
$ pacman -Q python313 libxml2 libxslt
python313 3.13.0b2-1
libxml2 2.12.7-1
libxslt 1.1.39-2
```
```
$ python3.13 -c 'import sys;print(
sys.version_
sys.abiflags='t'
```
```
$ python3.13 -m venv /tmp/venv-lxml-313t
$ source /tmp/venv-
$ pip -v install git+https:/
```
The pip build log is added as an attachment.
As explained in the linked PEP, there are CPython ABI changes when the GIL is disabled via CPython's `--disable-gil` build option, but those changes will become the default in future CPython releases (after 2-3 minor versions). Extension authors are supposed to target both ABI versions in the mean time.
Thanks for the report. The compile issues are being worked on in Cython.
There are more known issues in lxml due to the removal of the global lock, though. They'll also need changes eventually that add more fine-grained locking.