Skip to content

Authorizenet dependency is incompatible with Python 3.13+ #62

@Alchez

Description

@Alchez

In the same vein as #39, it seems like the lxml dependency in the upstream AuthorizeNet SDK is incompatible with py3.13.


Traceback
Collecting authorizenet==1.1.6
  Using cached authorizenet-1.1.6-py3-none-any.whl
Collecting PyXB-X (from authorizenet==1.1.6)
  Using cached PyXB_X-1.2.6.3-py3-none-any.whl.metadata (2.3 kB)
Collecting lxml==4.* (from authorizenet==1.1.6)
  Using cached lxml-4.9.4.tar.gz (3.6 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: requests==2.* in ./env/lib/python3.13/site-packages (from authorizenet==1.1.6) (2.32.3)
Requirement already satisfied: charset-normalizer<4,>=2 in ./env/lib/python3.13/site-packages (from requests==2.*->authorizenet==1.1.6) (3.4.2)
Requirement already satisfied: idna<4,>=2.5 in ./env/lib/python3.13/site-packages (from requests==2.*->authorizenet==1.1.6) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./env/lib/python3.13/site-packages (from requests==2.*->authorizenet==1.1.6) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in ./env/lib/python3.13/site-packages (from requests==2.*->authorizenet==1.1.6) (2025.4.26)
Using cached PyXB_X-1.2.6.3-py3-none-any.whl (310 kB)
Building wheels for collected packages: lxml
  DEPRECATION: Building 'lxml' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'lxml'. Discussion can be found at https://github.com/pypa/pip/issues/6334
  Building wheel for lxml (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [281 lines of output]
      Building lxml version 4.9.4.
      /tmp/pip-install-_3rzwdje/lxml_9762d2d0c8ec477d8af94a14c864c71b/setup.py:67: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
        import pkg_resources
      Building without Cython.
      Building against libxml2 2.9.14 and libxslt 1.1.39
      /home/rohan/erpn/env/lib/python3.13/site-packages/setuptools/dist.py:761: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!
      
              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:
      
              License :: OSI Approved :: BSD License
      
              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************
      
      !!
        self._finalize_license_expression()
      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
      x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/home/rohan/erpn/env/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 meanPyInterpreterState_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->’ (haveint’)
       5988 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                                                                                         ^~
      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__handleSaxDatafrom 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: expectedstruct __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__handleSaxStartfrom 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: expectedstruct __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__handleSaxEndfrom 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: expectedstruct __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__handleSaxPifrom 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: expectedstruct __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__handleSaxCommentfrom 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: expectedstruct __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_pf_4lxml_5etree_4XSLT_18__call__’:
      src/lxml/etree.c:203486:73: error: passing argument 1 of__pyx_f_4lxml_5etree_12_XSLTContext__copyfrom 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: expectedstruct __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__copyfrom 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: expectedstruct __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_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_SetNameInClass255376 |   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 meanPyUnicode_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_NextNotImplementedundeclared (first use in this function); did you meanPyObject_HashNotImplemented’?
      265182 |         if (unlikely(iternext == &_PyObject_NextNotImplemented))
             |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c:1096:43: note: in definition of macrounlikely1096 |   #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 macrounlikely1096 |   #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_AsByteArray269066 |                 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_AsByteArray269375 |                 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_AsByteArray269571 |                 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_AsByteArray269767 |                 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_AsByteArray270001 |                 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_AsByteArray270235 |                 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_AsByteArray270438 |                 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/x86_64-linux-gnu-gcc' failed with exit code 1
      creating tmp
      cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInit8h75ay4m.c -o tmp/xmlXPathInit8h75ay4m.o
      cc tmp/xmlXPathInit8h75ay4m.o -lxml2 -o a.out
      error: command '/usr/bin/x86_64-linux-gnu-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
  Running setup.py clean 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

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions