Skip to content

[AIRFLOW-2723] - Update lxml dependancy to >= 4.0.0#3583

Closed
neil90-db wants to merge 1 commit intoapache:masterfrom
neil90-db:master
Closed

[AIRFLOW-2723] - Update lxml dependancy to >= 4.0.0#3583
neil90-db wants to merge 1 commit intoapache:masterfrom
neil90-db:master

Conversation

@neil90-db
Copy link
Contributor

@neil90-db neil90-db commented Jul 8, 2018

Make sure you have checked all steps below.

JIRA

  • My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

Description

  • Here are some details about my PR, including screenshots of any UI changes:

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

Documentation

  • In case of new functionality, my PR adds documentation that describes how to use it.
    • When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

  • Passes git diff upstream/master -u -- "*.py" | flake8 --diff

@codecov-io
Copy link

Codecov Report

Merging #3583 into master will decrease coverage by <.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3583      +/-   ##
==========================================
- Coverage   76.83%   76.83%   -0.01%     
==========================================
  Files         204      204              
  Lines       15492    15492              
==========================================
- Hits        11904    11903       -1     
- Misses       3588     3589       +1
Impacted Files Coverage Δ
airflow/models.py 88.68% <0%> (-0.05%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 32db62e...d0db8d6. Read the comment docs.

@Fokko
Copy link
Contributor

Fokko commented Jul 9, 2018

The issue seems to be with your machine: https://pastebin.com/30AJz5tC

It looks like it is compiling some C-extensions used by lxml. Apart from that I don't see any objects to update this to a more recent version.

@neil90-db
Copy link
Contributor Author

@Fokko, So this is using the base Python3 Docker image. So must be a dependency missing on the Python3 image?

@Fokko
Copy link
Contributor

Fokko commented Jul 11, 2018

It works on my machine:

MacBook-Pro-van-Fokko:incubator-airflow fokkodriesprong$ docker run -t -i python:3.5 pip install "lxml>=3.6.0, <4.0"
Collecting lxml<4.0,>=3.6.0
  Downloading https://files.pythonhosted.org/packages/23/3e/0b8d8e1a8244159f82d06a14734045e1f2eff199e1f20046214902857b73/lxml-3.8.0-cp35-cp35m-manylinux1_x86_64.whl (7.2MB)
    100% |████████████████████████████████| 7.2MB 2.7MB/s 
Installing collected packages: lxml
Successfully installed lxml-3.8.0

@cjgu
Copy link
Contributor

cjgu commented Jul 11, 2018

I ran into this issue yesterday as well, it is because the Airflow docs suggest to run with docker run -t -i python:3 which now gives you Python 3.7 which seems incompatible with some versions of lxml. Using Python <=3.6.x works fine.

@neil90-db
Copy link
Contributor Author

So if anything this just helps Airflow be compatible with Python 3.7

@Fokko
Copy link
Contributor

Fokko commented Jul 13, 2018

Exactly. Good to know:

MacBook-Pro-van-Fokko:cardio-ai fokkodriesprong$ docker run -t -i python:3.7 pip install "lxml>=3.6.0, <4.0"
Collecting lxml<4.0,>=3.6.0
  Downloading https://files.pythonhosted.org/packages/20/b3/9f245de14b7696e2d2a386c0b09032a2ff6625270761d6543827e667d8de/lxml-3.8.0.tar.gz (3.8MB)
    100% |████████████████████████████████| 3.8MB 5.1MB/s 
Building wheels for collected packages: lxml
  Running setup.py bdist_wheel for lxml ... error
  Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-904bqwia/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ij174ue0 --python-tag cp37:
  Building lxml version 3.8.0.
  Building without Cython.
  Using build configuration of libxslt 1.1.29
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.7
  creating build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/cssselect.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/sax.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/builder.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/__init__.py -> build/lib.linux-x86_64-3.7/lxml
  creating build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-3.7/lxml/includes
  creating build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/defs.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/builder.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/diff.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/clean.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-3.7/lxml/html
  copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-3.7/lxml/html
  creating build/lib.linux-x86_64-3.7/lxml/isoschematron
  copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-3.7/lxml/isoschematron
  copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-3.7/lxml
  copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-3.7/lxml/includes
  copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-3.7/lxml/includes
  creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources
  creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/rng
  copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/rng
  creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
  copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
  copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
  creating build/lib.linux-x86_64-3.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-3.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-3.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-3.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-3.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-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
  running build_ext
  building 'lxml.etree' extension
  creating build/temp.linux-x86_64-3.7
  creating build/temp.linux-x86_64-3.7/src
  creating build/temp.linux-x86_64-3.7/src/lxml
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/local/include/python3.7m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.7/src/lxml/lxml.etree.o -w
  src/lxml/lxml.etree.c: In function ‘__Pyx_PyCFunction_FastCall’:
  src/lxml/lxml.etree.c:233279:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’
       return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
              ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/lxml/lxml.etree.c: In function ‘__Pyx_PyDict_Items’:
  src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyDict_Type_items.func’
                 (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/lxml/lxml.etree.c:233529:16: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
           return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
                  ^
  src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionSave’:
  src/lxml/lxml.etree.c:233753:19: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       *type = tstate->exc_type;
                     ^~
  src/lxml/lxml.etree.c:233754:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       *value = tstate->exc_value;
                      ^~
  src/lxml/lxml.etree.c:233755:17: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       *tb = tstate->exc_traceback;
                   ^~
  src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionReset’:
  src/lxml/lxml.etree.c:233762:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tmp_type = tstate->exc_type;
                        ^~
  src/lxml/lxml.etree.c:233763:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tmp_value = tstate->exc_value;
                         ^~
  src/lxml/lxml.etree.c:233764:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tmp_tb = tstate->exc_traceback;
                      ^~
  src/lxml/lxml.etree.c:233765:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tstate->exc_type = type;
             ^~
  src/lxml/lxml.etree.c:233766:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tstate->exc_value = value;
             ^~
  src/lxml/lxml.etree.c:233767:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tstate->exc_traceback = tb;
             ^~
  src/lxml/lxml.etree.c: In function ‘__Pyx__GetException’:
  src/lxml/lxml.etree.c:233822:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tmp_type = tstate->exc_type;
                        ^~
  src/lxml/lxml.etree.c:233823:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tmp_value = tstate->exc_value;
                         ^~
  src/lxml/lxml.etree.c:233824:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tmp_tb = tstate->exc_traceback;
                      ^~
  src/lxml/lxml.etree.c:233825:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tstate->exc_type = local_type;
             ^~
  src/lxml/lxml.etree.c:233826:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tstate->exc_value = local_value;
             ^~
  src/lxml/lxml.etree.c:233827:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tstate->exc_traceback = local_tb;
             ^~
  src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionSwap’:
  src/lxml/lxml.etree.c:234160:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tmp_type = tstate->exc_type;
                        ^~
  src/lxml/lxml.etree.c:234161:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tmp_value = tstate->exc_value;
                         ^~
  src/lxml/lxml.etree.c:234162:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tmp_tb = tstate->exc_traceback;
                      ^~
  src/lxml/lxml.etree.c:234163:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
       tstate->exc_type = *type;
             ^~
  src/lxml/lxml.etree.c:234164:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
       tstate->exc_value = *value;
             ^~
  src/lxml/lxml.etree.c:234165:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
       tstate->exc_traceback = *tb;
             ^~
  src/lxml/lxml.etree.c: In function ‘__Pyx_PyList_Pop’:
  src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyList_Type_pop.func’
                 (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/lxml/lxml.etree.c:234476:12: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
       return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
              ^
  src/lxml/lxml.etree.c: In function ‘__Pyx_PyDict_Values’:
  src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyDict_Type_values.func’
                 (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/lxml/lxml.etree.c:235119:16: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
           return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_values, d);
                  ^
  Compile failed: command 'gcc' failed with exit status 1
  creating tmp
  cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInit6b04gy_2.c -o tmp/xmlXPathInit6b04gy_2.o
  /tmp/xmlXPathInit6b04gy_2.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   main (int argc, char **argv) {
   ^~~~
  cc tmp/xmlXPathInit6b04gy_2.o -lxml2 -o a.out
  error: command 'gcc' failed with exit status 1
  
  ----------------------------------------
  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
    Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-904bqwia/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-9s1hq7xl/install-record.txt --single-version-externally-managed --compile:
    Building lxml version 3.8.0.
    Building without Cython.
    Using build configuration of libxslt 1.1.29
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/cssselect.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/sax.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/builder.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/__init__.py -> build/lib.linux-x86_64-3.7/lxml
    creating build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-3.7/lxml/includes
    creating build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/defs.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/builder.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/diff.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/clean.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-3.7/lxml/html
    copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-3.7/lxml/html
    creating build/lib.linux-x86_64-3.7/lxml/isoschematron
    copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-3.7/lxml/isoschematron
    copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-3.7/lxml
    copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/xslt.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/config.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/uri.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/xinclude.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/xpath.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/schematron.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/relaxng.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/c14n.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/tree.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/lxml-version.h -> build/lib.linux-x86_64-3.7/lxml/includes
    copying src/lxml/includes/etree_defs.h -> build/lib.linux-x86_64-3.7/lxml/includes
    creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources
    creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/rng
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/rng
    creating build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl
    creating build/lib.linux-x86_64-3.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-3.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-3.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-3.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-3.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-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-x86_64-3.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/src
    creating build/temp.linux-x86_64-3.7/src/lxml
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/local/include/python3.7m -c src/lxml/lxml.etree.c -o build/temp.linux-x86_64-3.7/src/lxml/lxml.etree.o -w
    src/lxml/lxml.etree.c: In function ‘__Pyx_PyCFunction_FastCall’:
    src/lxml/lxml.etree.c:233279:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’
         return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
                ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/lxml/lxml.etree.c: In function ‘__Pyx_PyDict_Items’:
    src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyDict_Type_items.func’
                   (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/lxml/lxml.etree.c:233529:16: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
             return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
                    ^
    src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionSave’:
    src/lxml/lxml.etree.c:233753:19: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         *type = tstate->exc_type;
                       ^~
    src/lxml/lxml.etree.c:233754:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         *value = tstate->exc_value;
                        ^~
    src/lxml/lxml.etree.c:233755:17: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         *tb = tstate->exc_traceback;
                     ^~
    src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionReset’:
    src/lxml/lxml.etree.c:233762:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tmp_type = tstate->exc_type;
                          ^~
    src/lxml/lxml.etree.c:233763:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tmp_value = tstate->exc_value;
                           ^~
    src/lxml/lxml.etree.c:233764:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tmp_tb = tstate->exc_traceback;
                        ^~
    src/lxml/lxml.etree.c:233765:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tstate->exc_type = type;
               ^~
    src/lxml/lxml.etree.c:233766:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tstate->exc_value = value;
               ^~
    src/lxml/lxml.etree.c:233767:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tstate->exc_traceback = tb;
               ^~
    src/lxml/lxml.etree.c: In function ‘__Pyx__GetException’:
    src/lxml/lxml.etree.c:233822:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tmp_type = tstate->exc_type;
                          ^~
    src/lxml/lxml.etree.c:233823:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tmp_value = tstate->exc_value;
                           ^~
    src/lxml/lxml.etree.c:233824:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tmp_tb = tstate->exc_traceback;
                        ^~
    src/lxml/lxml.etree.c:233825:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tstate->exc_type = local_type;
               ^~
    src/lxml/lxml.etree.c:233826:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tstate->exc_value = local_value;
               ^~
    src/lxml/lxml.etree.c:233827:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tstate->exc_traceback = local_tb;
               ^~
    src/lxml/lxml.etree.c: In function ‘__Pyx__ExceptionSwap’:
    src/lxml/lxml.etree.c:234160:22: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tmp_type = tstate->exc_type;
                          ^~
    src/lxml/lxml.etree.c:234161:23: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tmp_value = tstate->exc_value;
                           ^~
    src/lxml/lxml.etree.c:234162:20: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tmp_tb = tstate->exc_traceback;
                        ^~
    src/lxml/lxml.etree.c:234163:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_type’; did you mean ‘curexc_type’?
         tstate->exc_type = *type;
               ^~
    src/lxml/lxml.etree.c:234164:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_value’; did you mean ‘curexc_value’?
         tstate->exc_value = *value;
               ^~
    src/lxml/lxml.etree.c:234165:11: error: ‘PyThreadState {aka struct _ts}’ has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
         tstate->exc_traceback = *tb;
               ^~
    src/lxml/lxml.etree.c: In function ‘__Pyx_PyList_Pop’:
    src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyList_Type_pop.func’
                   (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/lxml/lxml.etree.c:234476:12: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
         return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_pop, L);
                ^
    src/lxml/lxml.etree.c: In function ‘__Pyx_PyDict_Values’:
    src/lxml/lxml.etree.c:4532:83: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))__pyx_umethod_PyDict_Type_values.func’
                   (PY_VERSION_HEX >= 0x030600B1 && (cfunc)->flag == METH_FASTCALL ?  (*(__Pyx_PyCFunctionFast)(cfunc)->func)(self, &PyTuple_GET_ITEM(__pyx_empty_tuple, 0), 0, NULL) :\
                                                                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/lxml/lxml.etree.c:235119:16: note: in expansion of macro ‘__Pyx_CallUnboundCMethod0’
             return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_values, d);
                    ^
    Compile failed: command 'gcc' failed with exit status 1
    cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitqbvgi2an.c -o tmp/xmlXPathInitqbvgi2an.o
    /tmp/xmlXPathInitqbvgi2an.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
     main (int argc, char **argv) {
     ^~~~
    cc tmp/xmlXPathInitqbvgi2an.o -lxml2 -o a.out
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-904bqwia/lxml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-9s1hq7xl/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-904bqwia/lxml/

Copy link
Contributor

@Fokko Fokko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, merging

@asfgit asfgit closed this in 5290688 Jul 13, 2018
Fokko pushed a commit to Fokko/incubator-airflow that referenced this pull request Aug 8, 2018
lxneng pushed a commit to lxneng/incubator-airflow that referenced this pull request Aug 10, 2018
ashb pushed a commit that referenced this pull request Nov 12, 2018
galak75 pushed a commit to VilledeMontreal/incubator-airflow that referenced this pull request Nov 23, 2018
aliceabe pushed a commit to aliceabe/incubator-airflow that referenced this pull request Jan 3, 2019
cfei18 pushed a commit to cfei18/incubator-airflow that referenced this pull request Jan 23, 2019
Zylphrex added a commit to Zylphrex/incubator-airflow that referenced this pull request May 23, 2019
[AIRFLOW-2713] Rename async variable in setup.py for Python 3.7.0 compatibility

Closes apache#3561 from Perados/rename-async-to-async_packages-in-setup

[AIRFLOW-2716] Replace async and await py3.7 keywords

Closes apache#3578 from JacobHayes/py37-keywords

[AIRFLOW-2723] Update lxml dependancy to >= 4.0.0

Closes apache#3583 from neil90/master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants