Skip to content

Building scancode from Git on Fedora 39 fails (Python 3.12) #3656

@armijnhemel

Description

@armijnhemel

Description

The current Git checkout fails to build on Fedora 39 which uses Python 3.12 by default. The first error is related to intbitset:

Building wheels for collected packages: intbitset, lxml, scancode-toolkit
  Building wheel for intbitset (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [185 lines of output]
      /tmp/pip-install-4bs7yax9/intbitset_e259e1a669e94531942a037810dca7a9/setup.py:37: SyntaxWarning: invalid escape sequence '\s'
        version = re.search('__version__\s*=\s*"(?P<version>.*)"\n', f.read()).group("version")
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      copying intbitset/intbitset_helper.py -> build/lib.linux-x86_64-cpython-312
      copying intbitset/intbitset_version.py -> build/lib.linux-x86_64-cpython-312
      running egg_info
      writing intbitset/intbitset.egg-info/PKG-INFO
      writing dependency_links to intbitset/intbitset.egg-info/dependency_links.txt
      writing requirements to intbitset/intbitset.egg-info/requires.txt
      writing top-level names to intbitset/intbitset.egg-info/top_level.txt
      reading manifest file 'intbitset/intbitset.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.sh'
      warning: no files found matching '*.yml'
      warning: no files found matching '*.css' under directory 'docs/_themes'
      warning: no files found matching '*.css_t' under directory 'docs/_themes'
      warning: no files found matching '*.conf' under directory 'docs/_themes'
      warning: no files found matching '*.html' under directory 'docs/_themes'
      warning: no files found matching 'COPYING' under directory 'docs/_themes'
      warning: no files found matching 'README' under directory 'docs/_themes'
      warning: no files found matching '*.html' under directory 'docs/_templates'
      adding license file 'LICENSE'
      adding license file 'AUTHORS.rst'
      adding license file 'README.rst'
      adding license file 'CHANGELOG.rst'
      writing manifest file 'intbitset/intbitset.egg-info/SOURCES.txt'
      running build_ext
      building 'intbitset' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/intbitset
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fPIC -I/home/armijn/git/scancode-toolkit/venv/include -I/usr/include/python3.12 -c intbitset/intbitset.c -o build/temp.linux-x86_64-cpython-312/intbitset/intbitset.o
      intbitset/intbitset.c: In function ‘__pyx_pf_9intbitset_9intbitset___cinit__’:
      intbitset/intbitset.c:2290:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       2290 |       __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L3_error)
            |       ^~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.12/dictobject.h:90,
                       from /usr/include/python3.12/Python.h:61,
                       from intbitset/intbitset.c:6:
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:2325:13: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       2325 |             __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L16_error)
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:2375:13: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       2375 |             __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_zlib); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 193, __pyx_L16_error)
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:2405:13: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
       2405 |             __pyx_t_4 = ((PyObject_AsReadBuffer(__pyx_v_tmp, (&__pyx_v_buf), (&__pyx_v_size)) < 0) != 0);
            |             ^~~~~~~~~
      In file included from /usr/include/python3.12/Python.h:100:
      /usr/include/python3.12/abstract.h:369:17: note: declared here
        369 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
            |                 ^~~~~~~~~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__pyx_pf_9intbitset_9intbitset_44__reduce__’:
      intbitset/intbitset.c:8182:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       8182 |   __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s__12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L1_error)
            |   ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__pyx_f_9intbitset_9intbitset_fastdump’:
      intbitset/intbitset.c:9379:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       9379 |   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_zlib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error)
            |   ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__pyx_f_9intbitset_9intbitset_fastload’:
      intbitset/intbitset.c:9583:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       9583 |       __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L3_error)
            |       ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:9633:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
       9633 |       __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_zlib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L3_error)
            |       ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:9663:7: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
       9663 |       __pyx_t_9 = ((PyObject_AsReadBuffer(__pyx_v_tmp, (&__pyx_v_buf), (&__pyx_v_size)) < 0) != 0);
            |       ^~~~~~~~~
      /usr/include/python3.12/abstract.h:369:17: note: declared here
        369 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
            |                 ^~~~~~~~~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__pyx_pf_9intbitset_18intbitset_iterator___cinit__’:
      intbitset/intbitset.c:13551:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      13551 |   __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CFG_INTBITSET_ENABLE_SANITY_CHEC); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 775, __pyx_L1_error)
            |   ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__pyx_pymod_exec_intbitset’:
      intbitset/intbitset.c:15258:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      15258 |   __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CFG_INTBITSET_ENABLE_SANITY_CHEC); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error)
            |   ^~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx_Raise’:
      intbitset/intbitset.c:15725:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
      15725 |         PyObject* tmp_tb = tstate->curexc_traceback;
            |                                  ^~
      intbitset/intbitset.c:15728:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
      15728 |             tstate->curexc_traceback = tb;
            |                   ^~
      intbitset/intbitset.c: In function ‘__Pyx_get_tp_dict_version’:
      intbitset/intbitset.c:15743:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      15743 |     return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
            |     ^~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx_get_object_dict_version’:
      intbitset/intbitset.c:15755:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      15755 |     return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
            |     ^~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx_object_dict_version_matches’:
      intbitset/intbitset.c:15759:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      15759 |     if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
            |     ^~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx__GetModuleGlobalName’:
      intbitset/intbitset.c:15776:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      15776 |     __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
            |     ^~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx_CLineForTraceback’:
      intbitset/intbitset.c:17178:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      17178 |         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c:17178:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
      17178 |         __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/include/python3.12/cpython/dictobject.h:22:34: note: declared here
         22 |     Py_DEPRECATED(3.12) uint64_t ma_version_tag;
            |                                  ^~~~~~~~~~~~~~
      intbitset/intbitset.c: In function ‘__Pyx_PyInt_As_int’:
      intbitset/intbitset.c:17479:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      17479 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c:17534:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      17534 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c: In function ‘__Pyx_PyInt_As_unsigned_int’:
      intbitset/intbitset.c:17713:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      17713 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c:17768:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      17768 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c: In function ‘__Pyx_PyInt_As_long’:
      intbitset/intbitset.c:17947:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      17947 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c:18002:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      18002 |             const digit* digits = ((PyLongObject*)x)->ob_digit;
            |                                                     ^~
      intbitset/intbitset.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
      intbitset/intbitset.c:18453:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
      18453 |     const digit* digits = ((PyLongObject*)b)->ob_digit;
            |                                             ^~
      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 intbitset
  Running setup.py clean for intbitset

The second error is related to 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
  ╰─> [199 lines of output]
      /tmp/pip-install-4bs7yax9/lxml_7fd072000bfc4c74b530c7911ccd2801/setup.py:117: SyntaxWarning: invalid escape sequence '\.'
        is_interesting_header = re.compile('^(zconf|zlib|.*charset)\.h$').match
      Building lxml version 4.9.2.
      Building without Cython.
      Building against libxml2 2.10.4 and libxslt 1.1.39
      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 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fPIC -DCYTHON_CLINE_IN_TRACEBACK=0 -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/home/armijn/git/scancode-toolkit/venv/include -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_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_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/xmlXPathInit4y5kk819.c -o tmp/xmlXPathInit4y5kk819.o
      /tmp/xmlXPathInit4y5kk819.c: In function ‘main’:
      /tmp/xmlXPathInit4y5kk819.c:3:5: warning: ‘xmlXPathInit’ is deprecated [-Wdeprecated-declarations]
          3 |     xmlXPathInit();
            |     ^~~~~~~~~~~~
      In file included from /tmp/xmlXPathInit4y5kk819.c:1:
      /usr/include/libxml2/libxml/xpath.h:564:21: note: declared here
        564 |                     xmlXPathInit                (void);
            |                     ^~~~~~~~~~~~
      cc tmp/xmlXPathInit4y5kk819.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

How To Reproduce

Tell us how to reproduce the issue.

$ git pull
$ ./configure --clean
$ ./configure

System configuration

Default Fedora 39 installation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions