whitead/molbloom

python3.12 incompatibility?

Closed this issue · 1 comments

this issue is new for python 3.12

Building wheels for collected packages: molbloom
  Building wheel for molbloom (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for molbloom (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [116 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.1-arm64-cpython-312
      creating build/lib.macosx-11.1-arm64-cpython-312/molbloom
      copying molbloom/version.py -> build/lib.macosx-11.1-arm64-cpython-312/molbloom
      copying molbloom/__init__.py -> build/lib.macosx-11.1-arm64-cpython-312/molbloom
      creating build/lib.macosx-11.1-arm64-cpython-312/molbloom/data
      copying molbloom/data/zinc-instock-mini.bloom -> build/lib.macosx-11.1-arm64-cpython-312/molbloom/data
      running build_ext
      building 'molbloom.bloom' extension
      creating build/temp.macosx-11.1-arm64-cpython-312
      creating build/temp.macosx-11.1-arm64-cpython-312/molbloom
      clang -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/samcox/anaconda3/envs/molbloom/include -arch arm64 -fPIC -O2 -isystem /Users/samcox/anaconda3/envs/molbloom/include -arch arm64 -Imolbloom/bloom/ -Imolbloom/bloom -Imolbloom/bloom -I/Users/samcox/anaconda3/envs/molbloom/include/python3.12 -c molbloom/bloom.c -o build/temp.macosx-11.1-arm64-cpython-312/molbloom/bloom.o
      In file included from molbloom/bloom.c:768:
      molbloom/bloom/bloom.h:68:78: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
        printf("bloom_new: %s size=%lu bits, MB=%2f, n=%lu k=%u fp=%f\n", b->name, b->m,
                                   ~~~                                             ^~~~
                                   %llu
      molbloom/bloom/bloom.h:69:43: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
               ((float)b->m) / 1024 / 1024 / 8, n, b->k,
                                                ^
      molbloom/bloom/bloom.h:158:67: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
        printf("bloom_read: %s size=%lu bits, MB=%2f, k=%u\n", b->name, b->m,
                                    ~~~                                 ^~~~
                                    %llu
      molbloom/bloom.c:3870:36: error: no member named 'curexc_traceback' in 'struct _ts'
              PyObject* tmp_tb = tstate->curexc_traceback;
                                 ~~~~~~  ^
      molbloom/bloom.c:3873:21: error: no member named 'curexc_traceback' in 'struct _ts'
                  tstate->curexc_traceback = tb;
                  ~~~~~~  ^
      molbloom/bloom.c:4089:27: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
          return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
                                ^
      molbloom/bloom.c:1244:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
      #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                      ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
          Py_DEPRECATED(3.12) uint64_t ma_version_tag;
          ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      molbloom/bloom.c:4101:36: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
          return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
                                         ^
      molbloom/bloom.c:1244:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
      #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                      ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
          Py_DEPRECATED(3.12) uint64_t ma_version_tag;
          ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      molbloom/bloom.c:4105:56: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
          if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
                                                             ^
      molbloom/bloom.c:1244:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
      #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                      ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
          Py_DEPRECATED(3.12) uint64_t ma_version_tag;
          ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      molbloom/bloom.c:4126:9: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
              __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
              ^
      molbloom/bloom.c:1251:16: note: expanded from macro '__PYX_PY_DICT_LOOKUP_IF_MODIFIED'
          if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
                     ^
      molbloom/bloom.c:1244:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
      #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                      ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
          Py_DEPRECATED(3.12) uint64_t ma_version_tag;
          ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      molbloom/bloom.c:4126:9: warning: 'ma_version_tag' is deprecated [-Wdeprecated-declarations]
              __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
              ^
      molbloom/bloom.c:1255:30: note: expanded from macro '__PYX_PY_DICT_LOOKUP_IF_MODIFIED'
              __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
                                   ^
      molbloom/bloom.c:1244:65: note: expanded from macro '__PYX_GET_DICT_VERSION'
      #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
                                                                      ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/cpython/dictobject.h:22:5: note: 'ma_version_tag' has been explicitly marked deprecated here
          Py_DEPRECATED(3.12) uint64_t ma_version_tag;
          ^
      /Users/samcox/anaconda3/envs/molbloom/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      molbloom/bloom.c:4389:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      molbloom/bloom.c:4444:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      molbloom/bloom.c:4623:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      molbloom/bloom.c:4678:55: error: no member named 'ob_digit' in 'struct _longobject'
                  const digit* digits = ((PyLongObject*)x)->ob_digit;
                                        ~~~~~~~~~~~~~~~~~~  ^
      molbloom/bloom.c:5129:47: error: no member named 'ob_digit' in 'struct _longobject'
          const digit* digits = ((PyLongObject*)b)->ob_digit;
                                ~~~~~~~~~~~~~~~~~~  ^
      8 warnings and 7 errors generated.
      error: command '/usr/bin/clang' 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 molbloom
Failed to build molbloom
ERROR: Could not build wheels for molbloom, which is required to install pyproject.toml-based projects

Should be fixed now