Skip to content

Failed to build lxml #310

@playgithub

Description

@playgithub

UPDATE

I've tested on debian, no problem.


env

  • os: archlinux

reproduce

PS: search "error:" to see the errors

$ pip install yahooquery
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting yahooquery
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d1/a9/9a06f31cc068c7997b63a358f94ed433afb28599ef63bdcd5333db4a19d8/yahooquery-2.3.7-py3-none-any.whl (52 kB)
Collecting beautifulsoup4<5.0.0,>=4.12.2 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl (186 kB)
Collecting lxml<5.0.0,>=4.9.3 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/84/14/c2070b5e37c650198de8328467dd3d1681e80986f81ba0fea04fc4ec9883/lxml-4.9.4.tar.gz (3.6 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting pandas<3.0.0,>=2.0.3 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 MB)
Collecting requests<3.0.0,>=2.31.0 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl (64 kB)
Collecting requests-futures<2.0.0,>=1.0.1 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/91/23/7c1096731c15c83826cb0dd42078b561a838aed44c36f370aeb815168106/requests_futures-1.0.2-py2.py3-none-any.whl (7.7 kB)
Collecting tqdm<5.0.0,>=4.65.0 (from yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl (78 kB)
Collecting soupsieve>1.2 (from beautifulsoup4<5.0.0,>=4.12.2->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl (36 kB)
Collecting typing-extensions>=4.0.0 (from beautifulsoup4<5.0.0,>=4.12.2->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Collecting numpy>=1.26.0 (from pandas<3.0.0,>=2.0.3->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e4/43/619c2c7a0665aafc80efca465ddb1f260287266bdbdce517396f2f145d49/numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB)
Collecting python-dateutil>=2.8.2 (from pandas<3.0.0,>=2.0.3->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Collecting pytz>=2020.1 (from pandas<3.0.0,>=2.0.3->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl (507 kB)
Collecting tzdata>=2022.7 (from pandas<3.0.0,>=2.0.3->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl (346 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0.0,>=2.31.0->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0,>=2.31.0->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl (70 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0,>=2.31.0->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl (128 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0,>=2.31.0->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl (166 kB)
Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas<3.0.0,>=2.0.3->yahooquery)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: lxml
  Building wheel for lxml (pyproject.toml): started
  Building wheel for lxml (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for lxml (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [344 lines of output]
      <string>:67: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      Building lxml version 4.9.4.
      Building without Cython.
      Building against libxml2 2.13.6 and libxslt 1.1.42
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/sax.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/cssselect.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/builder.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-cpython-313/lxml
      creating build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/includes
      creating build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/diff.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/defs.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/clean.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/builder.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-cpython-313/lxml/html
      creating build/lib.linux-x86_64-cpython-313/lxml/isoschematron
      copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron
      copying src/lxml/etree.h -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/etree_api.h -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/objectify.pyx -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/etree.pyx -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xsltext.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xslt.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xpath.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xmlschema.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xmlid.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xmlerror.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/xinclude.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/serializer.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/schematron.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/saxparser.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/relaxng.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/readonlytree.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/public-api.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/proxy.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/parsertarget.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/parser.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/objectpath.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/nsclasses.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/iterparse.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/extensions.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/dtd.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/docloader.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/debug.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/cleanup.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/classlookup.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/apihelpers.pxi -> build/lib.linux-x86_64-cpython-313/lxml
      copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/__init__.pxd -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-cpython-313/lxml/includes
      copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-cpython-313/lxml/includes
      creating build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/rng
      copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/rng
      creating build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl
      creating build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      running build_ext
      building 'lxml.etree' extension
      creating build/temp.linux-x86_64-cpython-313/src/lxml
      gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/home/user/test_akquant/.venv/include -I/usr/include/python3.13 -c src/lxml/etree.c -o build/temp.linux-x86_64-cpython-313/src/lxml/etree.o -w
      src/lxml/etree.c: In function ‘__Pyx_init_assertions_enabled’:
      src/lxml/etree.c:5988:39: error: implicit declaration of function ‘_PyInterpreterState_GetConfig’; did you mean ‘PyInterpreterState_GetID’? [-Wimplicit-function-declaration]
       5988 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                       PyInterpreterState_GetID
      src/lxml/etree.c:5988:105: error: invalid type argument of ‘->’ (have ‘int’)
       5988 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                                                                                         ^~
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_14_ParserContext_prepare’:
      src/lxml/etree.c:113221:38: error: assignment to ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} from incompatible pointer type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’} [-Wincompatible-pointer-types]
      113221 |   __pyx_v_self->_c_ctxt->sax->serror = __pyx_f_4lxml_5etree__receiveParserError;
             |                                      ^
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_11_BaseParser__registerHtmlErrorHandler’:
      src/lxml/etree.c:117709:25: error: assignment to ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} from incompatible pointer type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’} [-Wincompatible-pointer-types]
      117709 |     __pyx_v_sax->serror = __pyx_f_4lxml_5etree__receiveParserError;
             |                         ^
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_4data’:
      src/lxml/etree.c:137976:66: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxData’ from incompatible pointer type [-Wincompatible-pointer-types]
      137976 |   __pyx_t_1 = __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxData(((struct __pyx_obj_4lxml_5etree__SaxParserTarget *)__pyx_v_self), __pyx_v_data); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 834, __pyx_L1_error)
             |                                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                  |
             |                                                                  struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137352:105: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137352 | static int __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxData(struct __pyx_obj_4lxml_5etree_TreeBuilder *__pyx_v_self, PyObject *__pyx_v_data) {
             |                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_6start’:
      src/lxml/etree.c:138137:67: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxStart’ from incompatible pointer type [-Wincompatible-pointer-types]
      138137 |   __pyx_t_3 = __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxStart(((struct __pyx_obj_4lxml_5etree__SaxParserTarget *)__pyx_v_self), __pyx_v_tag, __pyx_v_attrs, __pyx_v_nsmap); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 843, __pyx_L1_error)
             |                                                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                   |
             |                                                                   struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:136951:112: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      136951 | static PyObject *__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxStart(struct __pyx_obj_4lxml_5etree_TreeBuilder *__pyx_v_self, PyObject *__pyx_v_tag, PyObject *__pyx_v_attrib, PyObject *__pyx_v_nsmap) {
             |                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_8end’:
      src/lxml/etree.c:138208:65: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxEnd’ from incompatible pointer type [-Wincompatible-pointer-types]
      138208 |   __pyx_t_1 = __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxEnd(((struct __pyx_obj_4lxml_5etree__SaxParserTarget *)__pyx_v_self), __pyx_v_tag); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 850, __pyx_L1_error)
             |                                                                ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                 |
             |                                                                 struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137251:110: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137251 | static PyObject *__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxEnd(struct __pyx_obj_4lxml_5etree_TreeBuilder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_tag) {
             |                                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_10pi’:
      src/lxml/etree.c:138409:64: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxPi’ from incompatible pointer type [-Wincompatible-pointer-types]
      138409 |   __pyx_t_1 = __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxPi(((struct __pyx_obj_4lxml_5etree__SaxParserTarget *)__pyx_v_self), __pyx_v_target, __pyx_v_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 861, __pyx_L1_error)
             |                                                               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                |
             |                                                                struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137401:109: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137401 | static PyObject *__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxPi(struct __pyx_obj_4lxml_5etree_TreeBuilder *__pyx_v_self, PyObject *__pyx_v_target, PyObject *__pyx_v_data) {
             |                                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_12comment’:
      src/lxml/etree.c:138472:69: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxComment’ from incompatible pointer type [-Wincompatible-pointer-types]
      138472 |   __pyx_t_1 = __pyx_f_4lxml_5etree_11TreeBuilder__handleSaxComment(((struct __pyx_obj_4lxml_5etree__SaxParserTarget *)__pyx_v_self), __pyx_v_comment); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 869, __pyx_L1_error)
             |                                                                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                     |
             |                                                                     struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137607:114: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137607 | static PyObject *__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxComment(struct __pyx_obj_4lxml_5etree_TreeBuilder *__pyx_v_self, PyObject *__pyx_v_comment) {
             |                                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_12_BaseContext__set_xpath_context’:
      src/lxml/etree.c:181971:28: error: assignment to ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} from incompatible pointer type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’} [-Wincompatible-pointer-types]
      181971 |   __pyx_v_xpathCtxt->error = __pyx_f_4lxml_5etree__receiveXPathError;
             |                            ^
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_4XSLT_18__call__’:
      src/lxml/etree.c:203486:73: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [-Wincompatible-pointer-types]
      203486 |     __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_self->_context))); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 550, __pyx_L9_error)
             |                                                                        ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                         |
             |                                                                         struct __pyx_obj_4lxml_5etree__BaseContext *
      src/lxml/etree.c:201169:138: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’
      201169 | static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) {
             |                                                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree__copyXSLT’:
      src/lxml/etree.c:205311:71: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [-Wincompatible-pointer-types]
      205311 |   __pyx_t_1 = ((PyObject *)__pyx_f_4lxml_5etree_12_XSLTContext__copy(((struct __pyx_obj_4lxml_5etree__BaseContext *)__pyx_v_stylesheet->_context))); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 691, __pyx_L1_error)
             |                                                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                       |
             |                                                                       struct __pyx_obj_4lxml_5etree__BaseContext *
      src/lxml/etree.c:201169:138: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’
      201169 | static struct __pyx_obj_4lxml_5etree__BaseContext *__pyx_f_4lxml_5etree_12_XSLTContext__copy(struct __pyx_obj_4lxml_5etree__XSLTContext *__pyx_v_self) {
             |                                                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_7RelaxNG_2__init__’:
      src/lxml/etree.c:219245:60: error: passing argument 2 of ‘xmlRelaxNGSetParserStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      219245 |   xmlRelaxNGSetParserStructuredErrors(__pyx_v_parser_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_self->__pyx_base._error_log));
             |                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                            |
             |                                                            void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      In file included from src/lxml/etree.c:905:
      /usr/include/libxml2/libxml/relaxng.h:156:65: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        156 |                                          xmlStructuredErrorFunc serror,
            |                                          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_7RelaxNG_6__call__’:
      src/lxml/etree.c:219663:60: error: passing argument 2 of ‘xmlRelaxNGSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      219663 |     xmlRelaxNGSetValidStructuredErrors(__pyx_v_valid_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_self->__pyx_base._error_log));
             |                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                            |
             |                                                            void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      /usr/include/libxml2/libxml/relaxng.h:185:66: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        185 |                                           xmlStructuredErrorFunc serror, void *ctx);
            |                                           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_9XMLSchema_2__init__’:
      src/lxml/etree.c:220552:59: error: passing argument 2 of ‘xmlSchemaSetParserStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      220552 |   xmlSchemaSetParserStructuredErrors(__pyx_v_parser_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_self->__pyx_base._error_log));
             |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                           |
             |                                                           void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      In file included from src/lxml/etree.c:906:
      /usr/include/libxml2/libxml/xmlschemas.h:156:65: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        156 |                                          xmlStructuredErrorFunc serror,
            |                                          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_9XMLSchema_6__call__’:
      src/lxml/etree.c:221095:59: error: passing argument 2 of ‘xmlSchemaSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      221095 |     xmlSchemaSetValidStructuredErrors(__pyx_v_valid_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_self->__pyx_base._error_log));
             |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                           |
             |                                                           void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      /usr/include/libxml2/libxml/xmlschemas.h:185:65: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        185 |                                          xmlStructuredErrorFunc serror,
            |                                          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_30_ParserSchemaValidationContext_connect’:
      src/lxml/etree.c:221860:66: error: passing argument 2 of ‘xmlSchemaSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      221860 |     xmlSchemaSetValidStructuredErrors(__pyx_v_self->_valid_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_error_log));
             |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                  |
             |                                                                  void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      /usr/include/libxml2/libxml/xmlschemas.h:185:65: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        185 |                                          xmlStructuredErrorFunc serror,
            |                                          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_10Schematron_6__call__’:
      src/lxml/etree.c:223037:63: error: passing argument 2 of ‘xmlSchematronSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      223037 |     xmlSchematronSetValidStructuredErrors(__pyx_v_valid_ctxt, __pyx_f_4lxml_5etree__receiveError, ((void *)__pyx_v_self->__pyx_base._error_log));
             |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                               |
             |                                                               void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
      In file included from src/lxml/etree.c:907:
      /usr/include/libxml2/libxml/schematron.h:106:66: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
        106 |                                           xmlStructuredErrorFunc serror,
            |                                           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      src/lxml/etree.c: In function ‘__pyx_pymod_exec_etree’:
      src/lxml/etree.c:6652:38: error: implicit declaration of function ‘_PyDict_SetItem_KnownHash’; did you mean ‘_PyDict_GetItem_KnownHash’? [-Wimplicit-function-declaration]
       6652 |     (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
            |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c:255376:7: note: in expansion of macro ‘__Pyx_SetNameInClass’
      255376 |   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_getitem, __pyx_t_9) < 0) __PYX_ERR(0, 97, __pyx_L1_error)
             |       ^~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyUnicode_Join’:
      src/lxml/etree.c:264446:13: error: implicit declaration of function ‘_PyUnicode_FastCopyCharacters’; did you mean ‘PyUnicode_CopyCharacters’? [-Wimplicit-function-declaration]
      264446 |             _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
             |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |             PyUnicode_CopyCharacters
      src/lxml/etree.c: In function ‘__Pyx_PyIter_Next2’:
      src/lxml/etree.c:265182:35: error: ‘_PyObject_NextNotImplemented’ undeclared (first use in this function); did you mean ‘PyObject_HashNotImplemented’?
      265182 |         if (unlikely(iternext == &_PyObject_NextNotImplemented))
             |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c:1096:43: note: in definition of macro ‘unlikely’
       1096 |   #define unlikely(x) __builtin_expect(!!(x), 0)
            |                                           ^
      src/lxml/etree.c:265182:35: note: each undeclared identifier is reported only once for each function it appears in
      265182 |         if (unlikely(iternext == &_PyObject_NextNotImplemented))
             |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c:1096:43: note: in definition of macro ‘unlikely’
       1096 |   #define unlikely(x) __builtin_expect(!!(x), 0)
            |                                           ^
      src/lxml/etree.c: In function ‘__Pyx_PyGen_Send’:
      src/lxml/etree.c:265973:13: error: implicit declaration of function ‘_PyGen_SetStopIterationValue’; did you mean ‘__Pyx_PyGen__FetchStopIterationValue’? [-Wimplicit-function-declaration]
      265973 |             _PyGen_SetStopIterationValue(result);
             |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |             __Pyx_PyGen__FetchStopIterationValue
      src/lxml/etree.c: In function ‘__Pyx_Coroutine_AwaitableIterError’:
      src/lxml/etree.c:267806:5: error: implicit declaration of function ‘_PyErr_FormatFromCause’ [-Wimplicit-function-declaration]
      267806 |     _PyErr_FormatFromCause(
             |     ^~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_set_iter_next’:
      src/lxml/etree.c:268071:19: error: implicit declaration of function ‘_PySet_NextEntry’ [-Wimplicit-function-declaration]
      268071 |         int ret = _PySet_NextEntry(iter_obj, ppos, value, &hash);
             |                   ^~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_int’:
      src/lxml/etree.c:269066:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      269066 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.13/longobject.h:107,
                       from /usr/include/python3.13/Python.h:81,
                       from src/lxml/etree.c:96:
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_size_t’:
      src/lxml/etree.c:269375:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      269375 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_unsigned_int’:
      src/lxml/etree.c:269571:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      269571 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_signed__char’:
      src/lxml/etree.c:269767:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      269767 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_unsigned_short’:
      src/lxml/etree.c:270001:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      270001 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_xmlChar’:
      src/lxml/etree.c:270235:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      270235 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_long’:
      src/lxml/etree.c:270438:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      270438 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      Compile failed: command '/usr/bin/gcc' failed with exit code 1
      creating tmp
      cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitvxheel8s.c -o tmp/xmlXPathInitvxheel8s.o
      /tmp/xmlXPathInitvxheel8s.c: In function ‘main’:
      /tmp/xmlXPathInitvxheel8s.c:3:5: warning: ‘xmlXPathInit’ is deprecated [-Wdeprecated-declarations]
          3 |     xmlXPathInit();
            |     ^~~~~~~~~~~~
      In file included from /tmp/xmlXPathInitvxheel8s.c:1:
      /usr/include/libxml2/libxml/xpath.h:568:21: note: declared here
        568 |                     xmlXPathInit                (void);
            |                     ^~~~~~~~~~~~
      cc tmp/xmlXPathInitvxheel8s.o -lxml2 -o a.out
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for lxml
Failed to build lxml
ERROR: Failed to build installable wheels for some pyproject.toml based projects (lxml)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions