You are not logged in.

#1 2024-09-03 03:34:02

Banshee_Cass
Member
Registered: 2024-09-01
Posts: 22

[SOLVED] i cant get lxml 4.9.2 to install

i have a git fork of searx that i know works (i just cleared termux on my phone and re-did it) its a personal version of searx on my github account located at https://github.com/crisp-casper/searx

so after git cloning it and cd into it i ran

pip -r requirements.txt

(yes it gave me the warning and i just bypassed it with --break-system-packages)
lxml will not build instead it gives this error

Building wheels for collected packages: lxml
  Building wheel for lxml (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [354 lines of output]
      /tmp/pip-install-d9678_sl/lxml_4e2d10246db347bb87906a9e9e5d5fa0/setup.py:117: SyntaxWarning: invalid escape sequence '\.'
        is_interesting_header = re.compile('^(zconf|zlib|.*charset)\.h$').match
      Building lxml version 4.9.2.
      /tmp/pip-install-d9678_sl/lxml_4e2d10246db347bb87906a9e9e5d5fa0/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.13.3 and libxslt 1.1.42
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      creating build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/__init__.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/builder.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/cssselect.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/sax.py -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-cpython-312/lxml
      creating build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-cpython-312/lxml/includes
      creating build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/builder.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/clean.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/defs.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/diff.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-cpython-312/lxml/html
      creating build/lib.linux-x86_64-cpython-312/lxml/isoschematron
      copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-cpython-312/lxml/isoschematron
      copying src/lxml/etree.h -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/etree_api.h -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/etree.pyx -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/objectify.pyx -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/apihelpers.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/classlookup.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/cleanup.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/debug.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/docloader.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/dtd.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/extensions.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/iterparse.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/nsclasses.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/objectpath.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/parser.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/parsertarget.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/proxy.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/public-api.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/readonlytree.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/relaxng.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/saxparser.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/schematron.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/serializer.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xinclude.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xmlerror.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xmlid.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xmlschema.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xpath.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xslt.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/xsltext.pxi -> build/lib.linux-x86_64-cpython-312/lxml
      copying src/lxml/includes/__init__.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-cpython-312/lxml/includes
      copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-cpython-312/lxml/includes
      creating build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources
      creating build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/rng
      copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/rng
      creating build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/xsl
      creating build/lib.linux-x86_64-cpython-312/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-312/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-312/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-312/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-312/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-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      running build_ext
      building 'lxml.etree' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/src
      creating build/temp.linux-x86_64-cpython-312/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/usr/include/python3.12 -c src/lxml/etree.c -o build/temp.linux-x86_64-cpython-312/src/lxml/etree.o -w
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_14_ParserContext_prepare’:
      src/lxml/etree.c:113121: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]
      113121 |   __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:117609: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]
      117609 |     __pyx_v_sax->serror = __pyx_f_4lxml_5etree__receiveParserError;
             |                         ^
      src/lxml/etree.c: In function ‘__pyx_f_4lxml_5etree_11_BaseParser__parseUnicodeDoc’:
      src/lxml/etree.c:119231:29: error: implicit declaration of function ‘PyUnicode_GET_DATA_SIZE’ [-Wimplicit-function-declaration]
      119231 |     __pyx_v_py_buffer_len = PyUnicode_GET_DATA_SIZE(__pyx_v_utext);
             |                             ^~~~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c:119240:22: error: implicit declaration of function ‘PyUnicode_AS_DATA’; did you mean ‘PyUnicode_DATA’? [-Wimplicit-function-declaration]
      119240 |     __pyx_v_c_text = PyUnicode_AS_DATA(__pyx_v_utext);
             |                      ^~~~~~~~~~~~~~~~~
             |                      PyUnicode_DATA
      src/lxml/etree.c:119240:20: error: assignment to ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
      119240 |     __pyx_v_c_text = PyUnicode_AS_DATA(__pyx_v_utext);
             |                    ^
      src/lxml/etree.c: In function ‘__pyx_pf_4lxml_5etree_11TreeBuilder_4data’:
      src/lxml/etree.c:137698:66: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxData’ from incompatible pointer type [-Wincompatible-pointer-types]
      137698 |   __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, 832, __pyx_L1_error)
             |                                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                  |
             |                                                                  struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137074:105: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137074 | 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:137859:67: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxStart’ from incompatible pointer type [-Wincompatible-pointer-types]
      137859 |   __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, 841, __pyx_L1_error)
             |                                                                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                   |
             |                                                                   struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:136673:112: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      136673 | 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:137930:65: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxEnd’ from incompatible pointer type [-Wincompatible-pointer-types]
      137930 |   __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, 848, __pyx_L1_error)
             |                                                                ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                 |
             |                                                                 struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:136973:110: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      136973 | 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:138131:64: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxPi’ from incompatible pointer type [-Wincompatible-pointer-types]
      138131 |   __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, 859, __pyx_L1_error)
             |                                                               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                |
             |                                                                struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137123:109: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137123 | 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:138194:69: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_11TreeBuilder__handleSaxComment’ from incompatible pointer type [-Wincompatible-pointer-types]
      138194 |   __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, 867, __pyx_L1_error)
             |                                                                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |                                                                     |
             |                                                                     struct __pyx_obj_4lxml_5etree__SaxParserTarget *
      src/lxml/etree.c:137329:114: note: expected ‘struct __pyx_obj_4lxml_5etree_TreeBuilder *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__SaxParserTarget *’
      137329 | 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:181693: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]
      181693 |   __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:203208:73: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [-Wincompatible-pointer-types]
      203208 |     __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:200891:138: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’
      200891 | 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:205033:71: error: passing argument 1 of ‘__pyx_f_4lxml_5etree_12_XSLTContext__copy’ from incompatible pointer type [-Wincompatible-pointer-types]
      205033 |   __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:200891:138: note: expected ‘struct __pyx_obj_4lxml_5etree__XSLTContext *’ but argument is of type ‘struct __pyx_obj_4lxml_5etree__BaseContext *’
      200891 | 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:218967:60: error: passing argument 2 of ‘xmlRelaxNGSetParserStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      218967 |   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:899:
      /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:219385:60: error: passing argument 2 of ‘xmlRelaxNGSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      219385 |     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:220274:59: error: passing argument 2 of ‘xmlSchemaSetParserStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      220274 |   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:900:
      /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:220817:59: error: passing argument 2 of ‘xmlSchemaSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      220817 |     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:221582:66: error: passing argument 2 of ‘xmlSchemaSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      221582 |     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:222759:63: error: passing argument 2 of ‘xmlSchematronSetValidStructuredErrors’ from incompatible pointer type [-Wincompatible-pointer-types]
      222759 |     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:901:
      /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_Raise’:
      src/lxml/etree.c:262394:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
      262394 |         PyObject* tmp_tb = tstate->curexc_traceback;
             |                                  ^~
      src/lxml/etree.c:262397:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
      262397 |             tstate->curexc_traceback = tb;
             |                   ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_AddObjC’:
      src/lxml/etree.c:263340:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      263340 |         const digit* digits = ((PyLongObject*)op1)->ob_digit;
             |                                                   ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_EqObjC’:
      src/lxml/etree.c:263457:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      263457 |         const digit* digits = ((PyLongObject*)op1)->ob_digit;
             |                                                   ^~
      src/lxml/etree.c: In function ‘__Pyx_PyUnicode_Join’:
      src/lxml/etree.c:668:51: error: implicit declaration of function ‘_PyUnicode_Ready’; did you mean ‘PyUnicode_READY’? [-Wimplicit-function-declaration]
        668 |                                               0 : _PyUnicode_Ready((PyObject *)(op)))
            |                                                   ^~~~~~~~~~~~~~~~
      src/lxml/etree.c:1090:43: note: in definition of macro ‘unlikely’
       1090 |   #define unlikely(x) __builtin_expect(!!(x), 0)
            |                                           ^
      src/lxml/etree.c:264135:22: note: in expansion of macro ‘__Pyx_PyUnicode_READY’
      264135 |         if (unlikely(__Pyx_PyUnicode_READY(uval)))
             |                      ^~~~~~~~~~~~~~~~~~~~~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_SubtractObjC’:
      src/lxml/etree.c:265182:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      265182 |         const digit* digits = ((PyLongObject*)op1)->ob_digit;
             |                                                   ^~
      src/lxml/etree.c: In function ‘__Pyx__Coroutine_GetAwaitableIter’:
      src/lxml/etree.c:267536:53: error: ‘PyGenObject’ has no member named ‘gi_code’
      267536 |     if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
             |                                                     ^~
      src/lxml/etree.c:267536:102: error: ‘PyGenObject’ has no member named ‘gi_code’
      267536 |     if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
             |                                                                                                      ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_int’:
      src/lxml/etree.c:268588:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      268588 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:268643:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      268643 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_size_t’:
      src/lxml/etree.c:268897:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      268897 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:268952:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      268952 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_unsigned_int’:
      src/lxml/etree.c:269093:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269093 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:269148:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269148 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_signed__char’:
      src/lxml/etree.c:269289:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269289 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:269344:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269344 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_unsigned_short’:
      src/lxml/etree.c:269523:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269523 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:269578:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269578 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_xmlChar’:
      src/lxml/etree.c:269757:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269757 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:269812:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269812 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyInt_As_long’:
      src/lxml/etree.c:269960:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      269960 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c:270015:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      270015 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
             |                                                     ^~
      src/lxml/etree.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
      src/lxml/etree.c:270403:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      270403 |     const digit* digits = ((PyLongObject*)b)->ob_digit;
             |                                             ^~
      Compile failed: command '/usr/bin/gcc' failed with exit code 1
      creating tmp
      cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitrlggsnff.c -o tmp/xmlXPathInitrlggsnff.o
      /tmp/xmlXPathInitrlggsnff.c: In function ‘main’:
      /tmp/xmlXPathInitrlggsnff.c:3:5: warning: ‘xmlXPathInit’ is deprecated [-Wdeprecated-declarations]
          3 |     xmlXPathInit();
            |     ^~~~~~~~~~~~
      In file included from /tmp/xmlXPathInitrlggsnff.c:1:
      /usr/include/libxml2/libxml/xpath.h:568:21: note: declared here
        568 |                     xmlXPathInit                (void);
            |                     ^~~~~~~~~~~~
      cc tmp/xmlXPathInitrlggsnff.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
  Running setup.py clean for lxml
Failed to build lxml
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (lxml)

so i figure okay ill install lxml from the AUR

warning: python-lxml-5.3.0-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) python-lxml-5.3.0-1

Total Installed Size:  5.02 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                [#################################] 100%
(1/1) checking package integrity                              [#################################] 100%
(1/1) loading package files                                   [#################################] 100%
(1/1) checking for file conflicts                             [#################################] 100%
(1/1) checking available disk space                           [#################################] 100%
:: Processing package changes...
(1/1) reinstalling python-lxml                                [#################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

i had built it already so i figured i was good to

python3 searx/webapp.py

but then i get the following error

Traceback (most recent call last):
  File "/home/Casper/Documents/searx/searx/webapp.py", line 63, in <module>
    from searx.engines import (
  File "/home/Casper/Documents/searx/searx/engines/__init__.py", line 31, in <module>
    from searx.utils import load_module, match_language, get_engine_from_settings, gen_useragent
  File "/home/Casper/Documents/searx/searx/utils.py", line 13, in <module>
    from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError, _ElementStringResult, _ElementUnicodeResult
ImportError: cannot import name '_ElementStringResult' from 'lxml.etree' (/usr/lib/python3.12/site-packages/lxml/etree.cpython-312-x86_64-linux-gnu.so). Did you mean: '_ElementUnicodeResult'?

so i figure okay well lxml is just newer i need the old version the 4.9.2 so i run

sudo downgrade python-lxml
loading packages...
warning: downgrading package python-lxml (5.3.0-1 => 4.9.2-3)
resolving dependencies...
looking for conflicting packages...

Packages (1) python-lxml-4.9.2-3

Total Installed Size:  5.08 MiB
Net Upgrade Size:      0.06 MiB

:: Proceed with installation? [Y/n] 
(1/1) checking keys in keyring                                [#################################] 100%
(1/1) checking package integrity                              [#################################] 100%
(1/1) loading package files                                   [#################################] 100%
(1/1) checking for file conflicts                             [#################################] 100%
(1/1) checking available disk space                           [#################################] 100%
:: Processing package changes...
(1/1) downgrading python-lxml                                 [#################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
add python-lxml to IgnorePkg? [y/N] 

and run

python3 searx/webapp.py

again

Traceback (most recent call last):
  File "/home/Casper/Documents/searx/searx/webapp.py", line 63, in <module>
    from searx.engines import (
  File "/home/Casper/Documents/searx/searx/engines/__init__.py", line 31, in <module>
    from searx.utils import load_module, match_language, get_engine_from_settings, gen_useragent
  File "/home/Casper/Documents/searx/searx/utils.py", line 12, in <module>
    from lxml import html
ImportError: cannot import name 'html' from 'lxml' (unknown location)

at this point im lost and confused so i try to see if there is any other lxml and i find python2-lxml however trying to install that give me

yay -S python2-lxml
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...

Aur (1) python2-lxml-4.9.4-3

:: Proceed with installation? [Y/n]: 

:: Downloading PKGBUILDs...
 PKGBUILDs up to date
fetching devel info...
==> Making package: python2-lxml 4.9.4-3 (Mon Sep  2 21:20:43 2024)
==> Retrieving sources...
  -> Found lxml-4.9.4.tar.gz
==> Validating source files with sha512sums...
    lxml-4.9.4.tar.gz ... Passed
==> Making package: python2-lxml 4.9.4-3 (Mon Sep  2 21:20:57 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found lxml-4.9.4.tar.gz
==> Validating source files with sha512sums...
    lxml-4.9.4.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting lxml-4.9.4.tar.gz with bsdtar
==> Sources are ready.
python2-lxml-4.9.4-3: parsing pkg list...
==> Making package: python2-lxml 4.9.4-3 (Mon Sep  2 21:21:24 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Building lxml version 4.9.4.
Building with Cython 0.29.37.
Building against libxml2 2.9.10 and libxslt 1.1.42
Building against libxml2/libxslt in the following directory: /usr/lib/libxml2-2.9
Compiling src/lxml/etree.pyx because it changed.
Compiling src/lxml/objectify.pyx because it changed.
Compiling src/lxml/builder.py because it changed.
Compiling src/lxml/_elementpath.py because it changed.
Compiling src/lxml/html/diff.py because it changed.
Compiling src/lxml/html/clean.py because it changed.
Compiling src/lxml/sax.py because it changed.
[1/7] Cythonizing src/lxml/_elementpath.py
[2/7] Cythonizing src/lxml/builder.py
[3/7] Cythonizing src/lxml/etree.pyx
warning: src/lxml/xmlerror.pxi:657:22: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:658:69: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:659:20: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:664:22: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:665:73: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:666:20: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:671:22: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:672:73: local variable 'args' referenced before assignment
warning: src/lxml/xmlerror.pxi:673:20: local variable 'args' referenced before assignment
[4/7] Cythonizing src/lxml/html/clean.py
[5/7] Cythonizing src/lxml/html/diff.py
[6/7] Cythonizing src/lxml/objectify.pyx
[7/7] Cythonizing src/lxml/sax.py
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/lxml
copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/cssselect.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/sax.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/__init__.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/builder.py -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-2.7/lxml
creating build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-2.7/lxml/includes
creating build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/clean.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/defs.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/diff.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/builder.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-2.7/lxml/html
copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-2.7/lxml/html
creating build/lib.linux-x86_64-2.7/lxml/isoschematron
copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-2.7/lxml/isoschematron
copying src/lxml/etree.h -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/etree_api.h -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/objectify.pyx -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/etree.pyx -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xpath.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xslt.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/parser.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/public-api.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/dtd.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/readonlytree.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/debug.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/classlookup.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/parsertarget.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/docloader.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xmlerror.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/serializer.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xinclude.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xmlschema.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/relaxng.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/apihelpers.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/schematron.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/cleanup.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/saxparser.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/objectpath.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xsltext.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/nsclasses.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/extensions.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/xmlid.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/proxy.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/iterparse.pxi -> build/lib.linux-x86_64-2.7/lxml
copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/__init__.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-2.7/lxml/includes
copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-2.7/lxml/includes
creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources
creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng
copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/rng
creating build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl
copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl
copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl
creating build/lib.linux-x86_64-2.7/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-2.7/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-2.7/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-2.7/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-2.7/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-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
creating build/temp.linux-x86_64-2.7/src/lxml
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc/lxml -Isrc/lxml/includes -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -I/usr/include/python2.7 -c src/lxml/etree.c -o build/temp.linux-x86_64-2.7/src/lxml/etree.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-o
mit-leaf-frame-pointer -g -ffile-prefix-map=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/etree.o -L/usr/lib/libxml2-2.9 -L/mnt/storage/temp/python2-build/lib -Wl,-R/usr/lib/libxml2-2.9 -lxslt -lexslt -lxml2 -lrt -lz -lm -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/etree.so
building 'lxml.objectify' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc/lxml/includes -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -I/usr/include/python2.7 -c src/lxml/objectify.c -o build/temp.linux-x86_64-2.7/src/lxml/objectify.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/objectify.o -L/usr/lib/libxml2-2.9 -L/mnt/storage/temp/python2-build/lib -Wl,-R/usr/lib/libxml2-2.9 -lxslt -lexslt -lxml2 -lrt -lz -lm -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/objectify.so
building 'lxml.builder' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/builder.c -o build/temp.linux-x86_64-2.7/src/lxml/builder.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/builder.o -L/mnt/storage/temp/python2-build/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/builder.so
building 'lxml._elementpath' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/_elementpath.c -o build/temp.linux-x86_64-2.7/src/lxml/_elementpath.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/_elementpath.o -L/mnt/storage/temp/python2-build/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/_elementpath.so
building 'lxml.html.diff' extension
creating build/temp.linux-x86_64-2.7/src/lxml/html
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/html/diff.c -o build/temp.linux-x86_64-2.7/src/lxml/html/diff.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/html/diff.o -L/mnt/storage/temp/python2-build/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/html/diff.so
building 'lxml.html.clean' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/html/clean.c -o build/temp.linux-x86_64-2.7/src/lxml/html/clean.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/html/clean.o -L/mnt/storage/temp/python2-build/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/html/clean.so
building 'lxml.sax' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2-2.9/libxml2 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/sax.c -o build/temp.linux-x86_64-2.7/src/lxml/sax.o -w
gcc -shared -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -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=/home/Casper/.cache/paru/clone/python2-lxml/src=/usr/src/debug/python2-lxml -flto=auto -Wno-error=incompatible-pointer-types build/temp.linux-x86_64-2.7/src/lxml/sax.o -L/mnt/storage/temp/python2-build/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/lxml/sax.so
copying build/lib.linux-x86_64-2.7/lxml/etree.so -> src/lxml
copying build/lib.linux-x86_64-2.7/lxml/objectify.so -> src/lxml
copying build/lib.linux-x86_64-2.7/lxml/builder.so -> src/lxml
copying build/lib.linux-x86_64-2.7/lxml/_elementpath.so -> src/lxml
copying build/lib.linux-x86_64-2.7/lxml/html/diff.so -> src/lxml/html
copying build/lib.linux-x86_64-2.7/lxml/html/clean.so -> src/lxml/html
copying build/lib.linux-x86_64-2.7/lxml/sax.so -> src/lxml
==> Starting check()...
Comparing with ElementTree 1.3.0

TESTED VERSION: 4.9.4
    Python:           sys.version_info(major=2, minor=7, micro=18, releaselevel='final', serial=0)
    lxml.etree:       (4, 9, 4, 0)
    libxml used:      (2, 9, 10)
    libxml compiled:  (2, 9, 10)
    libxslt used:     (1, 1, 42)
    libxslt compiled: (1, 1, 42)
    FS encoding:      UTF-8
    Default encoding: ascii
    Max Unicode:      1114111

   1/1953 (  0.1%): txt (test_autolink)
   2/1953 (  0.1%): txt (test_basic)
   3/1953 (  0.2%): Classes (lxml.html)
   4/1953 (  0.2%): drop_tag (lxml.html.HtmlMixin)
   5/1953 (  0.3%): XHTMLParser (lxml.html)
   6/1953 (  0.3%): tostring (lxml.html)    
   9/1953 (  0.5%): txt (test_clean)ins (lxml.html.tests.test_basic.TestBasicFeatures)     
  10/1953 (  0.5%): txt (test_clean_embed)       
  30/1953 (  1.5%): txt (test_diff)inks (lxml.html.tests.test_clean.CleanerTest)                      
  31/1953 (  1.6%): html_annotate (line 35) (lxml.html.diff.__test__)
  32/1953 (  1.6%): locate_unbalanced_start (line 365) (lxml.html.diff.__test__)
  33/1953 (  1.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)
  34/1953 (  1.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_object.data
  35/1953 (  1.8%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_crazy.data 
  36/1953 (  1.8%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_script_inline.data
  37/1953 (  1.9%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onload.data       
  38/1953 (  1.9%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_ondblclick.data
  39/1953 (  2.0%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_meta.data      
  40/1953 (  2.0%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onfocus.data
  41/1953 (  2.1%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onkeypress.data
  42/1953 (  2.2%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onmouseout.data
  43/1953 (  2.2%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onkeydown.data 
  44/1953 (  2.3%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_style.data    
  45/1953 (  2.3%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_script_cdata.data
  46/1953 (  2.4%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onkeyup.data     
  47/1953 (  2.4%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onunload.data
  48/1953 (  2.5%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onblur.data  
  49/1953 (  2.5%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_embed.data 
  50/1953 (  2.6%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_frame.data
  51/1953 (  2.6%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onresize.data
  52/1953 (  2.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onabort.data 
  53/1953 (  2.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onsubmit.data
  54/1953 (  2.8%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onreset.data 
  55/1953 (  2.8%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onerror.data
  56/1953 (  2.9%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onmousedown.data
  57/1953 (  2.9%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_applet.data     
  58/1953 (  3.0%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_link.data  
  59/1953 (  3.0%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_iframe.data
  60/1953 (  3.1%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onmouseup.data
  61/1953 (  3.1%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_blink.data    
  62/1953 (  3.2%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onchange.data
  63/1953 (  3.2%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onmouseover.data
  64/1953 (  3.3%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_onclick.data    
  65/1953 (  3.3%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/feedparser-data/entry_content_script.data 
  66/1953 (  3.4%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/style-comment.data      
  67/1953 (  3.4%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/style-expression.data
  68/1953 (  3.5%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/style-js-tag.data    
  69/1953 (  3.5%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/style-url-js.data
  70/1953 (  3.6%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/background-image-plus.data
  71/1953 (  3.6%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/xml-embedded-js.data      
  72/1953 (  3.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/html-plus-time.data 
  73/1953 (  3.7%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/javascript-link.data
  74/1953 (  3.8%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/downlevel-hidden.data
  75/1953 (  3.8%): runTest (...ml.tests.test_feedparser_data.FeedTestCase)ml/tests/hackers-org-data/style-import.data    
  76/1953 (  3.9%): runTest (lxml.html.tests.test_feedparser_data.FeedTestCase)ests/hackers-org-data/background-image-with-unicoded.data
  77/1953 (  3.9%): txt (test_formfill)lxml/src/lxml-lxml-4.9.4/src/lxml/html/tests/hackers-org-data/xml-data-island.data           
  78/1953 (  4.0%): txt (test_forms)                                                                                                                             
 120/1953 (  6.1%): txt (test_rewritelinks)l.tests.test_html5parser.Test_parse)                                                   
 126/1953 (  6.5%): txt (test_xhtml)ct_value_no_selected_option (lxml.html.tests.test_select.SelectTest)         
 153/1953 (  7.8%): CSSSelector (lxml.cssselect)ml.tests.test_classlookup.ClassLookupTestCase)             
 200/1953 ( 10.2%): txt (validation)stem (lxml.tests.test_dtd.ETreeDtdTestCase)                        
1117/1953 ( 57.2%): test_c14n_tostring_inclusive_ns_prefixes (lxml.tests.test_etree.ETreeC14NTestCase)                
1140/1953 ( 58.4%): bad_find (lxml.tests.selftest)bclass (lxml.tests.test_etree.XMLPullParserTest)                                                                                 
1141/1953 ( 58.4%): bug_xmltoolkit25 (lxml.tests.selftest)
1142/1953 ( 58.5%): bug_xmltoolkit28 (lxml.tests.selftest)
1143/1953 ( 58.5%): encoding (lxml.tests.selftest)
1144/1953 ( 58.6%): find (lxml.tests.selftest)       
1145/1953 ( 58.6%): interface (lxml.tests.selftest)
1146/1953 ( 58.7%): iterators (lxml.tests.selftest)
1147/1953 ( 58.7%): iterparse (lxml.tests.selftest)
1148/1953 ( 58.8%): namespace (lxml.tests.selftest)
1149/1953 ( 58.8%): parsefile (lxml.tests.selftest)
1150/1953 ( 58.9%): parseliteral (lxml.tests.selftest)
1151/1953 ( 58.9%): qname (lxml.tests.selftest)
1152/1953 ( 59.0%): simpleops (lxml.tests.selftest)
1153/1953 ( 59.0%): writefile (lxml.tests.selftest)
1154/1953 ( 59.1%): writestring (lxml.tests.selftest)
1155/1953 ( 59.1%): xinclude (lxml.tests.selftest)
1156/1953 ( 59.2%): xinclude_default (lxml.tests.selftest)
1157/1953 ( 59.2%): xpath_tokenizer (lxml.tests.selftest)
1158/1953 ( 59.3%): attrib (lxml.tests.selftest2)
1159/1953 ( 59.3%): cdata (lxml.tests.selftest2)    
1160/1953 ( 59.4%): copy (lxml.tests.selftest2)
1161/1953 ( 59.4%): element (lxml.tests.selftest2)
1162/1953 ( 59.5%): encoding (lxml.tests.selftest2)
1163/1953 ( 59.5%): find (lxml.tests.selftest2)
1164/1953 ( 59.6%): makeelement (lxml.tests.selftest2)
1165/1953 ( 59.7%): parsefile (lxml.tests.selftest2)
1166/1953 ( 59.7%): qname (lxml.tests.selftest2)
1167/1953 ( 59.8%): writefile (lxml.tests.selftest2)
1168/1953 ( 59.8%): CDATA (lxml.etree)e
1169/1953 ( 59.9%): ElementNamespaceClassLookup (lxml.etree)
1170/1953 ( 59.9%): Schematron (lxml.etree)okup
1171/1953 ( 60.0%): FunctionNamespace (line 207) (lxml.etree.__test__)
1172/1953 ( 60.0%): XML (line 3218) (lxml.etree.__test__)
1173/1953 ( 60.1%): txt (tutorial)line 3218)                          
1174/1953 ( 60.1%): txt (api)                                      
1175/1953 ( 60.2%): txt (FAQ)
1176/1953 ( 60.2%): txt (parsing)
1177/1953 ( 60.3%): txt (resolvers)
1457/1953 ( 74.6%): Schematron (lxml.isoschematron)ded (lxml.tests.test_isoschematron.ETreeISOSchematronTestCase)              
1458/1953 ( 74.7%): txt (validation)on                       
1465/1953 ( 75.0%): txt (element_classes)ests.test_nsclasses.ETreeNamespaceClassesTestCase)              
1667/1953 ( 85.4%): ElementMaker (lxml.objectify).tests.test_objectify.ObjectifyTestCase)                          
1668/1953 ( 85.4%): ObjectifiedElement (lxml.objectify)
1669/1953 ( 85.5%): txt (objectify)Element
1705/1953 ( 87.3%): txt (validation)ingio (lxml.tests.test_relaxng.ETreeRelaxNGTestCase)                
1730/1953 ( 88.6%): txt (sax)ent_sax_twin_ns_prefix (lxml.tests.test_sax.NSPrefixSaxTestCase)     
1736/1953 ( 88.9%): txt (validation)invalid_schema_namespace (lxml.tests.test_schematron.ETreeSchematronTestCase)
1787/1953 ( 91.5%): test_xmlschema_error_log_path (lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase)      
1807/1953 ( 92.5%): txt (validation)esolvers_root (lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase)                                                  
1860/1953 ( 95.2%): xpath (lxml.tests.test_xpathevaluator)_xpathevaluator.ETreeETXPathClassTestCase)                     
1861/1953 ( 95.3%): txt (xpathxslt)ator.xpath
1952/1953 ( 99.9%): txt (extensions)nsmap (lxml.tests.test_xslt.ETreeXSLTExtElementTestCase)                                            
1953/1953 (100.0%): txt (xpathxslt)                    
Doctest: xpathxslt.txt  
======================================================================
FAIL: txt (resolvers)
Doctest: resolvers.txt
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 329, in run
    testMethod()
  File "/usr/lib/python2.7/doctest.py", line 2224, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for resolvers.txt
  File "/home/Casper/.cache/paru/clone/python2-lxml/src/lxml-lxml-4.9.4/doc/resolvers.txt", line 0, in txt

----------------------------------------------------------------------
File "/home/Casper/.cache/paru/clone/python2-lxml/src/lxml-lxml-4.9.4/doc/resolvers.txt", line 269, in resolvers.txt
Failed example:
    result = transform(normal_doc)
Expected:
    Traceback (most recent call last):
      ...
    XSLTApplyError: xsltLoadDocument: read rights for hoi:test denied
Got:
    Resolved url hoi:test as prefix hoi


----------------------------------------------------------------------
Ran 1953 tests in 11.708s

FAILED (failures=1)
==> ERROR: A failure occurred in check().
    Aborting...
error: failed to build 'python2-lxml-4.9.4-3': 
error: packages failed to build: python2-lxml-4.9.4-3

so a little disgruntled i figured id just get searx from the aur but none of those will run for me after installation and it doent let my instance run either (i can preform this if it would be valuable data)


Footnote:
This works on termux for android with a pip install
ive had it running on my prior install so ik its not my hardware
yay is a alias for paru
please is a alias for sudo

thank you everyone <3

Last edited by Banshee_Cass (2024-09-04 00:01:37)

Offline

#2 2024-09-03 06:38:53

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,808

Re: [SOLVED] i cant get lxml 4.9.2 to install

yes it gave me the warning and i just bypassed it with --break-system-packages

https://wiki.archlinux.org/title/Python … management
I thought this option had been nuked?
In any event: DO NOT DO THAT!

so i figure okay ill install lxml from the AUR

https://archlinux.org/packages/extra/x8 … thon-lxml/ isn't in teh AUR

sudo downgrade python-lxml

https://wiki.archlinux.org/title/System … nsupported

i find python2-lxml

python2 has left the repos years ago.

Roll back t his entire nonsense, update the system and get the pip packages out of the system paths - in doubt try to explicitly re-install every single python package.

lxml will not build instead it gives this error

Building wheel for lxml (setup.py) ... error
  error: subprocess-exited-with-error

Then actually read error messages instead of insanely flailing around

src/lxml/etree.c:113121: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]

This is a change in gcc-14 and adding "-Wincompatible-pointer-types" to the CFLAGS will make it more lenient again until you've fixed your code (or whoever is responsible for this)

Edit, inb4: no, iT StIlL NoT BuIlD - there're more errors of similar pattern. Read them.

Last edited by seth (2024-09-03 06:46:28)

Offline

#3 2024-09-03 07:45:42

loqs
Member
Registered: 2014-03-06
Posts: 18,891

Re: [SOLVED] i cant get lxml 4.9.2 to install

Can you not update your fork of searchx to be compatible with lxml 5.3? https://github.com/jdum/odfdo/commit/d8 … dce3de8487

Offline

#4 2024-09-03 11:22:02

Banshee_Cass
Member
Registered: 2024-09-01
Posts: 22

Re: [SOLVED] i cant get lxml 4.9.2 to install

loqs wrote:

Can you not update your fork of searchx to be compatible with lxml 5.3? https://github.com/jdum/odfdo/commit/d8 … dce3de8487

so lets just pretend for a sec im just a lil dumb silly person who forked the searx and doesnt understand what file they need to touch cause i get this

fd -H lement
lxml/doc/element_classes.txt
lxml/doc/elementsoup.txt
lxml/doc/licenses/elementtree.txt
lxml/src/lxml/ElementInclude.py
lxml/src/lxml/_elementpath.py
lxml/src/lxml/html/ElementSoup.py
lxml/src/lxml/html/tests/test_elementsoup.py
lxml/src/lxml/tests/test_elementpath.py
lxml/src/lxml/tests/test_elementtree.py
searx/static/themes/oscar/src/js/element_modifiers.js

Offline

#5 2024-09-03 12:58:04

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,808

Re: [SOLVED] i cant get lxml 4.9.2 to install

None - rebase/merge your fork.

Edit: it might or not be sufficient to pull that one commit?

Last edited by seth (2024-09-03 13:00:15)

Offline

#6 2024-09-03 13:24:38

loqs
Member
Registered: 2014-03-06
Posts: 18,891

Re: [SOLVED] i cant get lxml 4.9.2 to install

Does this change help you progress when using python-lxml 5.3.0-1:

diff --git a/searx/utils.py b/searx/utils.py
index c60edf3b..6584c800 100644
--- a/searx/utils.py
+++ b/searx/utils.py
@@ -10,7 +10,7 @@ from html.parser import HTMLParser
 from urllib.parse import urljoin, urlparse, urlunparse
 
 from lxml import html
-from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError, _ElementStringResult, _ElementUnicodeResult
+from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError
 from babel.core import get_global
 
 
@@ -154,7 +154,7 @@ def extract_text(xpath_results, allow_none=False):
         )
         text = text.strip().replace('\n', ' ')
         return ' '.join(text.split())
-    elif isinstance(xpath_results, (_ElementStringResult, _ElementUnicodeResult, str, Number, bool)):
+    elif isinstance(xpath_results, (bytes, str, Number, bool)):
         return str(xpath_results)
     elif xpath_results is None and allow_none:
         return None

Offline

#7 2024-09-03 20:57:54

Banshee_Cass
Member
Registered: 2024-09-01
Posts: 22

Re: [SOLVED] i cant get lxml 4.9.2 to install

loqs wrote:

Does this change help you progress when using python-lxml 5.3.0-1:

diff --git a/searx/utils.py b/searx/utils.py
index c60edf3b..6584c800 100644
--- a/searx/utils.py
+++ b/searx/utils.py
@@ -10,7 +10,7 @@ from html.parser import HTMLParser
 from urllib.parse import urljoin, urlparse, urlunparse
 
 from lxml import html
-from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError, _ElementStringResult, _ElementUnicodeResult
+from lxml.etree import ElementBase, XPath, XPathError, XPathSyntaxError
 from babel.core import get_global
 
 
@@ -154,7 +154,7 @@ def extract_text(xpath_results, allow_none=False):
         )
         text = text.strip().replace('\n', ' ')
         return ' '.join(text.split())
-    elif isinstance(xpath_results, (_ElementStringResult, _ElementUnicodeResult, str, Number, bool)):
+    elif isinstance(xpath_results, (bytes, str, Number, bool)):
         return str(xpath_results)
     elif xpath_results is None and allow_none:
         return None

brilliant! it appears to be running (with errors but thats prob cause im offline) not going to mark as solved yet as i edited the file and ran it with no internet connection in about 3 hours ill get out of the office to verify

Offline

#8 2024-09-04 00:01:08

Banshee_Cass
Member
Registered: 2024-09-01
Posts: 22

Re: [SOLVED] i cant get lxml 4.9.2 to install

LESSSS GOOOO! thank you so much loqs! prob gonna push this to my install of searx to avoid having this issue in the future

Offline

Board footer

Powered by FluxBB