Skip to content

Issues installing under Python 3.13... on Rocky Linux #134

@perllaghu

Description

@perllaghu

Originally discovered here: rocker-org/binder#59

The library installs on a Linux machine (either OS) - but fails in a Rocker/binder docker image, but only on the Rocky Linux.

The error is:

Building wheels for collected packages: pysimdjson
  Building wheel for pysimdjson (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pysimdjson (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [92 lines of output]
      /tmp/pip-build-env-mx61th62/overlay/lib/python3.13/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!
      
              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:
      
              License :: OSI Approved :: MIT License
      
              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************
      
      !!
        self._finalize_license_expression()
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-313/simdjson
      copying simdjson/__init__.py -> build/lib.linux-x86_64-cpython-313/simdjson
      copying simdjson/__init__.pyi -> build/lib.linux-x86_64-cpython-313/simdjson
      copying simdjson/py.typed -> build/lib.linux-x86_64-cpython-313/simdjson
      running build_ext
      building 'csimdjson' extension
      creating build/temp.linux-x86_64-cpython-313/simdjson
      g++ -pthread -B /opt/conda/share/python_compiler_compat -fno-strict-overflow -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/conda/include -fPIC -O2 -isystem /opt/conda/include -fPIC -DSIMDJSON_IMPLEMENTATION_FALLBACK=1 -I/opt/conda/include/python3.13 -c simdjson/csimdjson.cpp -o build/temp.linux-x86_64-cpython-313/simdjson/csimdjson.o
      simdjson/csimdjson.cpp:1288:72: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
       1288 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
            |                                                                        ^
      In file included from /opt/conda/include/python3.13/unicodeobject.h:1014,
                       from /opt/conda/include/python3.13/Python.h:80,
                       from simdjson/csimdjson.cpp:44:
      /opt/conda/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
         10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
            |                                     ^~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE*)’:
      simdjson/csimdjson.cpp:1290:23: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
       1290 |     const Py_UNICODE *u_end = u;
            |                       ^~~~~
      /opt/conda/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
         10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
            |                                     ^~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘int __Pyx_PyInt_As_int(PyObject*)’:
      simdjson/csimdjson.cpp:36507:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
      36507 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
      36508 |                                            bytes, sizeof(val),
            |                                            ~~~~~~~~~~~~~~~~~~~
      36509 |                                            is_little, !is_unsigned);
            |                                            ~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /opt/conda/include/python3.13/longobject.h:107,
                       from /opt/conda/include/python3.13/Python.h:82:
      /opt/conda/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘size_t __Pyx_PyInt_As_size_t(PyObject*)’:
      simdjson/csimdjson.cpp:36780:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
      36780 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
      36781 |                                            bytes, sizeof(val),
            |                                            ~~~~~~~~~~~~~~~~~~~
      36782 |                                            is_little, !is_unsigned);
            |                                            ~~~~~~~~~~~~~~~~~~~~~~~~
      /opt/conda/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘long int __Pyx_PyInt_As_long(PyObject*)’:
      simdjson/csimdjson.cpp:37239:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
      37239 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
      37240 |                                            bytes, sizeof(val),
            |                                            ~~~~~~~~~~~~~~~~~~~
      37241 |                                            is_little, !is_unsigned);
            |                                            ~~~~~~~~~~~~~~~~~~~~~~~~
      /opt/conda/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘char __Pyx_PyInt_As_char(PyObject*)’:
      simdjson/csimdjson.cpp:37636:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
      37636 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
      37637 |                                            bytes, sizeof(val),
            |                                            ~~~~~~~~~~~~~~~~~~~
      37638 |                                            is_little, !is_unsigned);
            |                                            ~~~~~~~~~~~~~~~~~~~~~~~~
      /opt/conda/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      simdjson/csimdjson.cpp: In function ‘PyObject* __Pyx_PyGen_Send(PyGenObject*, PyObject*)’:
      simdjson/csimdjson.cpp:38061:13: error: ‘_PyGen_SetStopIterationValue’ was not declared in this scope; did you mean ‘__Pyx_PyGen__FetchStopIterationValue’?
      38061 |             _PyGen_SetStopIterationValue(result);
            |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |             __Pyx_PyGen__FetchStopIterationValue
      error: command '/usr/bin/g++' 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 pysimdjson
Failed to build pysimdjson
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> pysimdjson

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions