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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions