Skip to Content
Menu
This question has been flagged

I'm trying to install Odoo on a Debian 12 server in order to recover someone else's website that is built with Odoo 15.


As I don't know Odoo, I follow a tutorial whose link I'm not allowed to paste here, it's for odoo 16 but I replace all occurences with odoo 15.


`pip3 install -r odoo15/requirements.txt` could not build wheels for 4 packages, which I install manually (while in virtual environment):


pip3 install gevent greenlet lxml reportlab


I comment the corresponding lines in `requirements.txt` then re-run the first pip3 command.


After this, I try to run Odoo:


odoo15/odoo-bin


I run into this error: `SystemError: initialization of _psycopg raised unreported exception` which I solve with:


pip3 uninstall psycopg2
pip3 install psycopg2-binary



Then, the beginning of trouble with lxml:

```

Traceback (most recent call last):

  File "/opt/odoo/odoo15/odoo-bin", line 5, in

    import odoo

  File "/opt/odoo/odoo15/odoo/__init__.py", line 134, in

    from . import modules

  File "/opt/odoo/odoo15/odoo/modules/__init__.py", line 8, in

    from . import db, graph, loading, migration, module, registry

  File "/opt/odoo/odoo15/odoo/modules/graph.py", line 10, in

    import odoo.tools as tools

  File "/opt/odoo/odoo15/odoo/tools/__init__.py", line 24, in

    from .mail import *

  File "/opt/odoo/odoo15/odoo/tools/mail.py", line 18, in

    from lxml.html import clean

  File "/opt/odoo/odoo15-venv/lib/python3.11/site-packages/lxml/html/clean.py", line 18, in

    raise ImportError(

ImportError: lxml.html.clean module is now a separate project lxml_html_clean.

Install lxml[html_clean] or lxml_html_clean directly.

```


I read on another post of this forum that I can solve this by installing an older version of lxml:


pip3 uninstall lxml
pip3 install lxml==4.8.0


But the installation fails, and this time, my research hasn't yielded a workaround. Here is the big (and final) traceback:

```

Collecting lxml==4.8.0

  Using cached lxml-4.8.0.tar.gz (3.2 MB)

  Preparing metadata (setup.py) ... done

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

  ╰─> [115 lines of output]

      Building lxml version 4.8.0.

      Building without Cython.

      Building against libxml2 2.9.14 and libxslt 1.1.35

      running bdist_wheel

      running build

      running build_py

      creating build

      creating build/lib.linux-x86_64-cpython-311

      creating build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/sax.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/cssselect.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/builder.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-cpython-311/lxml

      creating build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/includes

      creating build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/diff.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/defs.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/clean.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/builder.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron

      copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron

      copying src/lxml/etree.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/etree_api.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/__init__.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-cpython-311/lxml/includes

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/rng

      copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/rng

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      creating build/lib.linux-x86_64-cpython-311/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-311/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-311/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-311/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-311/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-311/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

      running build_ext

      building 'lxml.etree' extension

      creating build/temp.linux-x86_64-cpython-311

      creating build/temp.linux-x86_64-cpython-311/src

      creating build/temp.linux-x86_64-cpython-311/src/lxml

      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/opt/odoo/odoo15-venv/include -I/usr/include/python3.11 -c src/lxml/etree.c -o build/temp.linux-x86_64-cpython-311/src/lxml/etree.o -w

      src/lxml/etree.c: In function ‘__Pyx_Coroutine_SendEx’:

      src/lxml/etree.c:265439:14: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265439 |             f->f_back = PyThreadState_GetFrame(tstate);

             |              ^~

      In file included from /usr/include/python3.11/Python.h:38,

                       from src/lxml/etree.c:96:

      src/lxml/etree.c: In function ‘__Pyx_Coroutine_ResetFrameBackpointer’:

      src/lxml/etree.c:265476:19: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265476 |         Py_CLEAR(f->f_back);

             |                   ^~

      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’

         24 | #define _Py_CAST(type, expr) ((type)(expr))

            |                                      ^~~~

      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’

        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \

            |                             ^~~~~~~~~~~~~~

      src/lxml/etree.c:265476:9: note: in expansion of macro ‘Py_CLEAR’

      265476 |         Py_CLEAR(f->f_back);

             |         ^~~~~~~~

      In file included from /usr/include/python3.11/Python.h:44:

      src/lxml/etree.c:265476:19: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265476 |         Py_CLEAR(f->f_back);

             |                   ^~

      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’

        583 |             (op) = NULL;                        \

            |              ^~

      src/lxml/etree.c: In function ‘__Pyx_AddTraceback’:

      src/lxml/etree.c:528:62: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

        528 |   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)

            |                                                              ^~

      src/lxml/etree.c:268244:5: note: in expansion of macro ‘__Pyx_PyFrame_SetLineNumber’

      268244 |     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);

             |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~

      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/xmlXPathInit5jnvxno9.c -o tmp/xmlXPathInit5jnvxno9.o

      cc tmp/xmlXPathInit5jnvxno9.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

Installing collected packages: lxml

  Running setup.py install for lxml ... error

  error: subprocess-exited-with-error

  

  × Running setup.py install for lxml did not run successfully.

  │ exit code: 1

  ╰─> [116 lines of output]

      Building lxml version 4.8.0.

      Building without Cython.

      Building against libxml2 2.9.14 and libxslt 1.1.35

      running install

      /opt/odoo/odoo15-venv/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

        warnings.warn(

      running build

      running build_py

      creating build

      creating build/lib.linux-x86_64-cpython-311

      creating build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/sax.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/cssselect.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/builder.py -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-cpython-311/lxml

      creating build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/includes

      creating build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/diff.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/defs.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/clean.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/builder.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-cpython-311/lxml/html

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron

      copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron

      copying src/lxml/etree.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/etree_api.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-cpython-311/lxml

      copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/__init__.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-cpython-311/lxml/includes

      copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-cpython-311/lxml/includes

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/rng

      copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/rng

      creating build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl

      creating build/lib.linux-x86_64-cpython-311/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-311/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-311/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-311/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-311/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-311/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-cpython-311/lxml/isoschematron/resources/xsl/iso-schematron-xslt1

      running build_ext

      building 'lxml.etree' extension

      creating build/temp.linux-x86_64-cpython-311

      creating build/temp.linux-x86_64-cpython-311/src

      creating build/temp.linux-x86_64-cpython-311/src/lxml

      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/opt/odoo/odoo15-venv/include -I/usr/include/python3.11 -c src/lxml/etree.c -o build/temp.linux-x86_64-cpython-311/src/lxml/etree.o -w

      src/lxml/etree.c: In function ‘__Pyx_Coroutine_SendEx’:

      src/lxml/etree.c:265439:14: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265439 |             f->f_back = PyThreadState_GetFrame(tstate);

             |              ^~

      In file included from /usr/include/python3.11/Python.h:38,

                       from src/lxml/etree.c:96:

      src/lxml/etree.c: In function ‘__Pyx_Coroutine_ResetFrameBackpointer’:

      src/lxml/etree.c:265476:19: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265476 |         Py_CLEAR(f->f_back);

             |                   ^~

      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’

         24 | #define _Py_CAST(type, expr) ((type)(expr))

            |                                      ^~~~

      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’

        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \

            |                             ^~~~~~~~~~~~~~

      src/lxml/etree.c:265476:9: note: in expansion of macro ‘Py_CLEAR’

      265476 |         Py_CLEAR(f->f_back);

             |         ^~~~~~~~

      In file included from /usr/include/python3.11/Python.h:44:

      src/lxml/etree.c:265476:19: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

      265476 |         Py_CLEAR(f->f_back);

             |                   ^~

      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’

        583 |             (op) = NULL;                        \

            |              ^~

      src/lxml/etree.c: In function ‘__Pyx_AddTraceback’:

      src/lxml/etree.c:528:62: error: invalid use of incomplete typedef ‘PyFrameObject’ {aka ‘struct _frame’}

        528 |   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)

            |                                                              ^~

      src/lxml/etree.c:268244:5: note: in expansion of macro ‘__Pyx_PyFrame_SetLineNumber’

      268244 |     __Pyx_PyFrame_SetLineNumber(py_frame, py_line);

             |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~

      Compile failed: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1

      cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInit9uw275jc.c -o tmp/xmlXPathInit9uw275jc.o

      cc tmp/xmlXPathInit9uw275jc.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: legacy-install-failure


× Encountered error while trying to install package.

╰─> lxml


note: This is an issue with the package mentioned above, not pip.

hint: See above for output from the failure.

```


When I google "command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1", I am suggested to install new packages. I (re-)installed all these packages with sudo apt: `autoconf build-essential idle-python3 lib32z1-dev libffi-dev libgle3 libjpeg-dev libldap2-dev libpq-dev libqt4-dbus libqt4-network libqt4-script libqt4-test libqt4-xml libqtcore4 libqtgui4 libsasl2-dev libssl-dev libtool libxml2 libxml2-dev libxslt-dev libxslt1-dev libxslt1.1 pkg-config python3-dev python3-libxml2 python3-opengl python3-pil python3-pyrex python3-pyside.qtopengl python3-qt4 python3-qt4-gl python3-setuptools python3.11-dev qt4-designer qt4-dev-tools zlib1g-dev`


Avatar
Discard
Related Posts Replies Views Activity
2
Dec 23
6626
1
May 24
8518
1
Jul 22
4535
2
Sep 24
11729
0
Jul 23
122