giotto-ai / giotto-ph

High performance implementation of Vietoris-Rips persistence.
https://giotto-ai.github.io/giotto-ph/
Other
43 stars 12 forks source link

Building from source failed #72

Open longyuxi opened 1 year ago

longyuxi commented 1 year ago

Hi,

I have been trying to build giotto-ph from source following the developer guidelines at https://giotto-ai.github.io/giotto-ph/build/html/installation.html#developer-installation. My system is MacOS 13.4 with Intel i9 processor, and I am running this in a new Conda environment, I get the following error when I run python -m pip install -e ".[dev]". Any clues as to what is going on? Thanks.

Downloading ipykernel-6.25.0-py3-none-any.whl (153 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.9/153.9 kB 6.1 MB/s eta 0:00:00
Downloading prometheus_client-0.17.1-py3-none-any.whl (60 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 kB 2.1 MB/s eta 0:00:00
Downloading websocket_client-1.6.1-py3-none-any.whl (56 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.9/56.9 kB 2.0 MB/s eta 0:00:00
Downloading comm-0.1.4-py3-none-any.whl (6.6 kB)
Downloading ipython-8.14.0-py3-none-any.whl (798 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 798.7/798.7 kB 18.9 MB/s eta 0:00:00
Downloading nest_asyncio-1.5.7-py3-none-any.whl (5.3 kB)
Downloading jedi-0.19.0-py2.py3-none-any.whl (1.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 28.0 MB/s eta 0:00:00
Downloading jsonpointer-2.4-py2.py3-none-any.whl (7.8 kB)
Downloading prompt_toolkit-3.0.39-py3-none-any.whl (385 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 385.2/385.2 kB 11.7 MB/s eta 0:00:00
Downloading uri_template-1.3.0-py3-none-any.whl (11 kB)
Building wheels for collected packages: jupyter_contrib_nbextensions, jupyter_contrib_core
  Building wheel for jupyter_contrib_nbextensions (setup.py) ... done
  Created wheel for jupyter_contrib_nbextensions: filename=jupyter_contrib_nbextensions-0.7.0-py2.py3-none-any.whl size=23428780 sha256=50bf0f06f71a5c34c1c15e9a5205f6c57e1dd78140c49203ef58db2351a18a55
  Stored in directory: /Users/longyuxi/Library/Caches/pip/wheels/cd/25/fe/cb6f3e82f5b1921b0157ac9e32adb2e54806ec1befc446be21
  Building wheel for jupyter_contrib_core (setup.py) ... done
  Created wheel for jupyter_contrib_core: filename=jupyter_contrib_core-0.4.2-py2.py3-none-any.whl size=17482 sha256=854fe4234b006d28702b177286248bdaf08eddbc5e39294171e27f9d2622e522
  Stored in directory: /Users/longyuxi/Library/Caches/pip/wheels/37/c3/18/be7a983c1120f15dc0c2d1cb9c33749871a93b034185e00ced
Successfully built jupyter_contrib_nbextensions jupyter_contrib_core
Installing collected packages: webencodings, wcwidth, sortedcontainers, snowballstemmer, py-cpuinfo, pure-eval, ptyprocess, pickleshare, jupyter_highlight_selected_word, json5, ipython_genutils, fastjsonschema, executing, backcall, appnope, websocket-client, webcolors, urllib3, uri-template, traitlets, tornado, tinycss2, threadpoolctl, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, soupsieve, sniffio, six, send2trash, rpds-py, rfc3986-validator, pyzmq, pyyaml, python-json-logger, pygments, pyflakes, pycparser, pycodestyle, psutil, prompt-toolkit, prometheus-client, pluggy, platformdirs, pexpect, parso, pandocfilters, packaging, overrides, numpy, nest-asyncio, mistune, mccabe, markupsafe, lxml, jupyterlab-pygments, jsonpointer, joblib, iniconfig, imagesize, idna, fqdn, docutils, defusedxml, decorator, debugpy, coverage, charset-normalizer, certifi, babel, attrs, async-lru, alabaster, terminado, scipy, rfc3339-validator, requests, referencing, python-dateutil, pytest, matplotlib-inline, jupyter_core, jinja2, jedi, hypothesis, flake8, comm, cffi, bleach, beautifulsoup4, asttokens, anyio, stack-data, sphinx, scikit-learn, pytest-nunit, pytest-cov, pytest-benchmark, jupyter-server-terminals, jupyter-client, jsonschema-specifications, arrow, argon2-cffi-bindings, sphinxcontrib-jquery, sphinx-issues, pytest-azurepipelines, numpydoc, jsonschema, isoduration, ipython, giotto-ph, argon2-cffi, sphinx_rtd_theme, nbformat, ipykernel, nbclient, jupyter-events, nbconvert, jupyter-server, notebook-shim, jupyterlab-server, jupyter-lsp, jupyterlab, notebook, jupyter_contrib_core, jupyter_nbextensions_configurator, jupyter_contrib_nbextensions
  Running setup.py develop for giotto-ph
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [363 lines of output]
        /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py:745: SetuptoolsDeprecationWarning: Invalid dash-separated options
        !!

                ********************************************************************************
                Usage of dash-separated 'description-file' will not be supported in future
                versions. Please use the underscore name 'description_file' instead.

                By 2023-Sep-26, you need to update your project and remove deprecated calls
                or your builds will no longer be supported.

                See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
                ********************************************************************************

        !!
          opt = self.warn_dash_deprecation(opt, section)
        running develop
        /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer or other
                standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        running egg_info
        creating giotto_ph.egg-info
        writing giotto_ph.egg-info/PKG-INFO
        writing dependency_links to giotto_ph.egg-info/dependency_links.txt
        writing requirements to giotto_ph.egg-info/requires.txt
        writing top-level names to giotto_ph.egg-info/top_level.txt
        writing manifest file 'giotto_ph.egg-info/SOURCES.txt'
        reading manifest file 'giotto_ph.egg-info/SOURCES.txt'
        adding license file 'LICENSE'
        writing manifest file 'giotto_ph.egg-info/SOURCES.txt'
        running build_ext
        Submodule 'giotto_ph/ext/junction' (https://github.com/preshing/junction) registered for path 'gph/ext/junction'
        Submodule 'src/pybind11' (https://github.com/pybind/pybind11) registered for path 'gph/ext/pybind11'
        Submodule 'giotto_ph/ext/turf' (https://github.com/preshing/turf) registered for path 'gph/ext/turf'
        Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/junction'...
        Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11'...
        Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/turf'...
        Submodule path 'gph/ext/junction': checked out '5ad3be7ce1d3f16b9f7ed6065bbfeacd2d629a08'
        Submodule path 'gph/ext/pybind11': checked out '48534089f7f1b0229bc7ae2e4d0f21dc9ad169b5'
        Submodule path 'gph/ext/turf': checked out '9ae0d4b984fa95ed5f823274b39c87ee742f6650'
        -- The CXX compiler identification is AppleClang 14.0.3.14030022
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        CMake Deprecation Warning at gph/ext/pybind11/CMakeLists.txt:8 (cmake_minimum_required):
          Compatibility with CMake < 3.5 will be removed from a future version of
          CMake.

          Update the VERSION argument <min> value or use a ...<max> suffix to tell
          CMake that the project does not need compatibility with older versions.

        -- pybind11 v2.6.2 dev1
        CMake Warning (dev) at gph/ext/pybind11/tools/FindPythonLibsNew.cmake:96 (find_package):
          Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
          are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
          the cmake_policy command to set the policy and suppress this warning.

        Call Stack (most recent call first):
          gph/ext/pybind11/tools/pybind11Tools.cmake:38 (find_package)
          gph/ext/pybind11/tools/pybind11Common.cmake:201 (include)
          gph/ext/pybind11/CMakeLists.txt:169 (include)
        This warning is for project developers.  Use -Wno-dev to suppress it.

        -- Found PythonInterp: /Users/longyuxi/mambaforge/envs/gph-dev/bin/python (found version "3.11.4")
        -- Found PythonLibs: /Users/longyuxi/mambaforge/envs/gph-dev/lib/libpython3.11.dylib
        -- Performing Test HAS_FLTO
        -- Performing Test HAS_FLTO - Success
        -- Performing Test HAS_FLTO_THIN
        -- Performing Test HAS_FLTO_THIN - Success
        CMake Deprecation Warning at gph/ext/junction/CMakeLists.txt:1 (cmake_minimum_required):
          Compatibility with CMake < 3.5 will be removed from a future version of
          CMake.

          Update the VERSION argument <min> value or use a ...<max> suffix to tell
          CMake that the project does not need compatibility with older versions.

        CMake Deprecation Warning at gph/ext/turf/CMakeLists.txt:1 (cmake_minimum_required):
          Compatibility with CMake < 3.5 will be removed from a future version of
          CMake.

          Update the VERSION argument <min> value or use a ...<max> suffix to tell
          CMake that the project does not need compatibility with older versions.

        Checking for <stdint.h> -- yes
        Checking for noexcept keyword -- no
        Checking for constexpr keyword -- no
        Checking for override keyword -- yes
        Checking for long long -- yes
        Checking for static_assert -- no
        Checking for std::move -- yes
        -- Configuring done (7.6s)
        -- Generating done (0.1s)
        -- Build files have been written to: /Users/longyuxi/Downloads/giotto-ph/build/temp.macosx-10.9-x86_64-cpython-311
        [  6%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Core.cpp.o
        [  6%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Grampa.cpp.o
        [  9%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Heap.cpp.o
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/turf/turf/Heap.cpp:32:6: warning: function previously declared with an explicit exception specification redeclared with an implicit exception specification [-Wimplicit-exception-spec-mismatch]
        void operator delete(void* ptr) TURF_NOEXCEPT {
             ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/new:193:36: note: previous declaration is here
        _LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p) _NOEXCEPT;
                                           ^
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/turf/turf/Heap.cpp:36:6: warning: function previously declared with an explicit exception specification redeclared with an implicit exception specification [-Wimplicit-exception-spec-mismatch]
        void operator delete[](void* ptr) TURF_NOEXCEPT {
             ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/new:201:36: note: previous declaration is here
        _LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p) _NOEXCEPT;
                                           ^
        2 warnings generated.
        [ 12%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/UTCTime.cpp.o
        [ 16%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Options.cpp.o
        [ 19%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Leapfrog.cpp.o
        [ 22%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Random.cpp.o
        [ 25%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Linear.cpp.o
        [ 29%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/TimeWaster.cpp.o
        [ 32%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_FreeBSD.cpp.o
        [ 35%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/QSBR.cpp.o
        [ 38%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Linux.cpp.o
        [ 41%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Win32.cpp.o
        [ 45%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Heap_DL.cpp.o
        [ 48%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Counters.cpp.o
        [ 51%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Grampa.cpp.o
        [ 54%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_MemLog.cpp.o
        [ 58%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Leapfrog.cpp.o
        [ 61%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Null.cpp.o
        [ 64%] Linking CXX static library libturf.a
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Core.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_FreeBSD.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Linux.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Win32.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Heap_DL.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Core.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_FreeBSD.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Linux.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Win32.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Heap_DL.cpp.o) has no symbols
        [ 67%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Linear.cpp.o
        [ 67%] Built target turf
        [ 70%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_NBDS.cpp.o
        [ 74%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_TBB.cpp.o
        [ 77%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/striped/ConditionBank.cpp.o
        [ 80%] Building CXX object CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o
        clang: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
        [ 83%] Linking CXX static library libjunction.a
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Grampa.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Leapfrog.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Linear.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Grampa.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Leapfrog.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Linear.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_NBDS.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_TBB.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Grampa.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Leapfrog.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Linear.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Grampa.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Leapfrog.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Linear.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_NBDS.cpp.o) has no symbols
        /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_TBB.cpp.o) has no symbols
        [ 83%] Built target junction
        [ 87%] Building CXX object CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                        "  " + handle(frame->f_code->co_filename).cast<std::string>() +
                                           ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                        handle(frame->f_code->co_name).cast<std::string>() + "\n";
                                    ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame = frame->f_back;
                                 ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: no member named 'frame' in '_ts'
            PyFrameObject *frame = PyThreadState_Get()->frame;
                                   ~~~~~~~~~~~~~~~~~~~  ^
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
            if (frame && (std::string) str(frame->f_code->co_name) == name &&
                                                ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_code->co_argcount > 0) {
                     ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                         ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:52: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                                                           ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                        "  " + handle(frame->f_code->co_filename).cast<std::string>() +
                                           ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                        handle(frame->f_code->co_name).cast<std::string>() + "\n";
                                    ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame = frame->f_back;
                                 ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: no member named 'frame' in '_ts'
            PyFrameObject *frame = PyThreadState_Get()->frame;
                                   ~~~~~~~~~~~~~~~~~~~  ^
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
            if (frame && (std::string) str(frame->f_code->co_name) == name &&
                                                ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_code->co_argcount > 0) {
                     ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                         ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
        In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
        /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:52: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                                                           ^
        /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
        typedef struct _frame PyFrameObject;
                       ^
        8 errors generated.
        make[2]: *** [CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o] Error 1
        make[1]: *** [CMakeFiles/gph_collapser.dir/all] Error 2
        make[1]: *** Waiting for unfinished jobs....
        8 errors generated.
        make[2]: *** [CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o] Error 1
        make[1]: *** [CMakeFiles/gph_ripser.dir/all] Error 2
        make: *** [all] Error 2
        Traceback (most recent call last):
          File "<string>", line 2, in <module>
          File "<pip-setuptools-caller>", line 34, in <module>
          File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 147, in <module>
            setup(name=DISTNAME,
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
            return distutils.core.setup(**attrs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
            return run_commands(dist)
                   ^^^^^^^^^^^^^^^^^^
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
            dist.run_commands()
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
            self.run_command(cmd)
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
            super().run_command(command)
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py", line 34, in run
            self.install_for_development()
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py", line 111, in install_for_development
            self.run_command('build_ext')
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
            self.distribution.run_command(command)
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
            super().run_command(command)
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 104, in run
            self.build_extension(ext)
          File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 143, in build_extension
            subprocess.check_call(["cmake", "--build", "."] + build_args,
          File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/subprocess.py", line 413, in check_call
            raise CalledProcessError(retcode, cmd)
        subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [363 lines of output]
    /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py:745: SetuptoolsDeprecationWarning: Invalid dash-separated options
    !!

            ********************************************************************************
            Usage of dash-separated 'description-file' will not be supported in future
            versions. Please use the underscore name 'description_file' instead.

            By 2023-Sep-26, you need to update your project and remove deprecated calls
            or your builds will no longer be supported.

            See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
            ********************************************************************************

    !!
      opt = self.warn_dash_deprecation(opt, section)
    running develop
    /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.

            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************

    !!
      easy_install.initialize_options(self)
    /Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer or other
            standards-based tools.

            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************

    !!
      self.initialize_options()
    running egg_info
    creating giotto_ph.egg-info
    writing giotto_ph.egg-info/PKG-INFO
    writing dependency_links to giotto_ph.egg-info/dependency_links.txt
    writing requirements to giotto_ph.egg-info/requires.txt
    writing top-level names to giotto_ph.egg-info/top_level.txt
    writing manifest file 'giotto_ph.egg-info/SOURCES.txt'
    reading manifest file 'giotto_ph.egg-info/SOURCES.txt'
    adding license file 'LICENSE'
    writing manifest file 'giotto_ph.egg-info/SOURCES.txt'
    running build_ext
    Submodule 'giotto_ph/ext/junction' (https://github.com/preshing/junction) registered for path 'gph/ext/junction'
    Submodule 'src/pybind11' (https://github.com/pybind/pybind11) registered for path 'gph/ext/pybind11'
    Submodule 'giotto_ph/ext/turf' (https://github.com/preshing/turf) registered for path 'gph/ext/turf'
    Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/junction'...
    Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11'...
    Cloning into '/Users/longyuxi/Downloads/giotto-ph/gph/ext/turf'...
    Submodule path 'gph/ext/junction': checked out '5ad3be7ce1d3f16b9f7ed6065bbfeacd2d629a08'
    Submodule path 'gph/ext/pybind11': checked out '48534089f7f1b0229bc7ae2e4d0f21dc9ad169b5'
    Submodule path 'gph/ext/turf': checked out '9ae0d4b984fa95ed5f823274b39c87ee742f6650'
    -- The CXX compiler identification is AppleClang 14.0.3.14030022
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    CMake Deprecation Warning at gph/ext/pybind11/CMakeLists.txt:8 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.

      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.

    -- pybind11 v2.6.2 dev1
    CMake Warning (dev) at gph/ext/pybind11/tools/FindPythonLibsNew.cmake:96 (find_package):
      Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
      are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
      the cmake_policy command to set the policy and suppress this warning.

    Call Stack (most recent call first):
      gph/ext/pybind11/tools/pybind11Tools.cmake:38 (find_package)
      gph/ext/pybind11/tools/pybind11Common.cmake:201 (include)
      gph/ext/pybind11/CMakeLists.txt:169 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.

    -- Found PythonInterp: /Users/longyuxi/mambaforge/envs/gph-dev/bin/python (found version "3.11.4")
    -- Found PythonLibs: /Users/longyuxi/mambaforge/envs/gph-dev/lib/libpython3.11.dylib
    -- Performing Test HAS_FLTO
    -- Performing Test HAS_FLTO - Success
    -- Performing Test HAS_FLTO_THIN
    -- Performing Test HAS_FLTO_THIN - Success
    CMake Deprecation Warning at gph/ext/junction/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.

      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.

    CMake Deprecation Warning at gph/ext/turf/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 3.5 will be removed from a future version of
      CMake.

      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.

    Checking for <stdint.h> -- yes
    Checking for noexcept keyword -- no
    Checking for constexpr keyword -- no
    Checking for override keyword -- yes
    Checking for long long -- yes
    Checking for static_assert -- no
    Checking for std::move -- yes
    -- Configuring done (7.6s)
    -- Generating done (0.1s)
    -- Build files have been written to: /Users/longyuxi/Downloads/giotto-ph/build/temp.macosx-10.9-x86_64-cpython-311
    [  6%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Core.cpp.o
    [  6%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Grampa.cpp.o
    [  9%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Heap.cpp.o
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/turf/turf/Heap.cpp:32:6: warning: function previously declared with an explicit exception specification redeclared with an implicit exception specification [-Wimplicit-exception-spec-mismatch]
    void operator delete(void* ptr) TURF_NOEXCEPT {
         ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/new:193:36: note: previous declaration is here
    _LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete(void* __p) _NOEXCEPT;
                                       ^
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/turf/turf/Heap.cpp:36:6: warning: function previously declared with an explicit exception specification redeclared with an implicit exception specification [-Wimplicit-exception-spec-mismatch]
    void operator delete[](void* ptr) TURF_NOEXCEPT {
         ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/new:201:36: note: previous declaration is here
    _LIBCPP_OVERRIDABLE_FUNC_VIS void  operator delete[](void* __p) _NOEXCEPT;
                                       ^
    2 warnings generated.
    [ 12%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/UTCTime.cpp.o
    [ 16%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Options.cpp.o
    [ 19%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Leapfrog.cpp.o
    [ 22%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Random.cpp.o
    [ 25%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Linear.cpp.o
    [ 29%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/TimeWaster.cpp.o
    [ 32%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_FreeBSD.cpp.o
    [ 35%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/QSBR.cpp.o
    [ 38%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Linux.cpp.o
    [ 41%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Win32.cpp.o
    [ 45%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Heap_DL.cpp.o
    [ 48%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Counters.cpp.o
    [ 51%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Grampa.cpp.o
    [ 54%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_MemLog.cpp.o
    [ 58%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Leapfrog.cpp.o
    [ 61%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Null.cpp.o
    [ 64%] Linking CXX static library libturf.a
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Core.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_FreeBSD.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Linux.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Win32.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Heap_DL.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Core.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_FreeBSD.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Linux.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Affinity_Win32.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libturf.a(Heap_DL.cpp.o) has no symbols
    [ 67%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Linear.cpp.o
    [ 67%] Built target turf
    [ 70%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_NBDS.cpp.o
    [ 74%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_TBB.cpp.o
    [ 77%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/striped/ConditionBank.cpp.o
    [ 80%] Building CXX object CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o
    clang: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
    [ 83%] Linking CXX static library libjunction.a
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Grampa.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Leapfrog.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Linear.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Grampa.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Leapfrog.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Linear.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_NBDS.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_TBB.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Grampa.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Leapfrog.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(ConcurrentMap_Linear.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Grampa.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Leapfrog.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(Linear.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_NBDS.cpp.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: libjunction.a(MemHook_TBB.cpp.o) has no symbols
    [ 83%] Built target junction
    [ 87%] Building CXX object CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    "  " + handle(frame->f_code->co_filename).cast<std::string>() +
                                       ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    handle(frame->f_code->co_name).cast<std::string>() + "\n";
                                ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame = frame->f_back;
                             ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: no member named 'frame' in '_ts'
        PyFrameObject *frame = PyThreadState_Get()->frame;
                               ~~~~~~~~~~~~~~~~~~~  ^
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
        if (frame && (std::string) str(frame->f_code->co_name) == name &&
                                            ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
            frame->f_code->co_argcount > 0) {
                 ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                     ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:52: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                                                       ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    "  " + handle(frame->f_code->co_filename).cast<std::string>() +
                                       ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                    handle(frame->f_code->co_name).cast<std::string>() + "\n";
                                ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame = frame->f_back;
                             ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: no member named 'frame' in '_ts'
        PyFrameObject *frame = PyThreadState_Get()->frame;
                               ~~~~~~~~~~~~~~~~~~~  ^
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
        if (frame && (std::string) str(frame->f_code->co_name) == name &&
                                            ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
            frame->f_code->co_argcount > 0) {
                 ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                     ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    In file included from /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12:
    /Users/longyuxi/Downloads/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:52: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
                                                       ^
    /Users/longyuxi/mambaforge/envs/gph-dev/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
    typedef struct _frame PyFrameObject;
                   ^
    8 errors generated.
    make[2]: *** [CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o] Error 1
    make[1]: *** [CMakeFiles/gph_collapser.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
    8 errors generated.
    make[2]: *** [CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o] Error 1
    make[1]: *** [CMakeFiles/gph_ripser.dir/all] Error 2
    make: *** [all] Error 2
    Traceback (most recent call last):
      File "<string>", line 2, in <module>
      File "<pip-setuptools-caller>", line 34, in <module>
      File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 147, in <module>
        setup(name=DISTNAME,
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
        return distutils.core.setup(**attrs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
        return run_commands(dist)
               ^^^^^^^^^^^^^^^^^^
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
        dist.run_commands()
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py", line 34, in run
        self.install_for_development()
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/command/develop.py", line 111, in install_for_development
        self.run_command('build_ext')
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 104, in run
        self.build_extension(ext)
      File "/Users/longyuxi/Downloads/giotto-ph/setup.py", line 143, in build_extension
        subprocess.check_call(["cmake", "--build", "."] + build_args,
      File "/Users/longyuxi/mambaforge/envs/gph-dev/lib/python3.11/subprocess.py", line 413, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j2']' returned non-zero exit status 2.
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
gmacon commented 11 months ago

This looks like an incompatibility with Python 3.11. #71 says that it fixes the issue.

poke1024 commented 8 months ago

I'm still seeing this issue today with Python 3.11, building from head of git. Looks like giotto-ph/gph/ext/pybind11 is still old.

 -- Build files have been written to: /home/liebl/prj/giotto/giotto-ph/build/temp.linux-x86_64-cpython-311
    [  3%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Grampa.cpp.o
    [  6%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Core.cpp.o
    [  9%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/Heap.cpp.o
    [ 12%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/UTCTime.cpp.o
    [ 16%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Options.cpp.o
    [ 19%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Leapfrog.cpp.o
    [ 22%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/ConcurrentMap_Linear.cpp.o
    [ 25%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/Random.cpp.o
    [ 29%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/QSBR.cpp.o
    [ 32%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/extra/TimeWaster.cpp.o
    [ 35%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_FreeBSD.cpp.o
    [ 38%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Linux.cpp.o
    [ 41%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Grampa.cpp.o
    [ 45%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Affinity_Win32.cpp.o
    [ 48%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Heap_DL.cpp.o
    [ 51%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Leapfrog.cpp.o
    [ 54%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Counters.cpp.o
    [ 58%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_MemLog.cpp.o
    [ 61%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/details/Linear.cpp.o
    [ 64%] Building CXX object gph/ext/junction/turf/CMakeFiles/turf.dir/turf/impl/Trace_Null.cpp.o
    [ 67%] Linking CXX static library libturf.a
    [ 67%] Built target turf
    [ 70%] Building CXX object CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o
    [ 74%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_NBDS.cpp.o
    [ 77%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/extra/MemHook_TBB.cpp.o
    [ 80%] Building CXX object gph/ext/junction/CMakeFiles/junction.dir/junction/striped/ConditionBank.cpp.o
    [ 83%] Linking CXX static library libjunction.a
    [ 83%] Built target junction
    [ 87%] Building CXX object CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h: In function ‘std::string pybind11::detail::error_string()’:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                    ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:75: error: expected primary-expression before ‘>’ token
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                                                           ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:77: error: expected primary-expression before ‘)’ token
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                                                             ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                             ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:64: error: expected primary-expression before ‘>’ token
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                                                                ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:66: error: expected primary-expression before ‘)’ token
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                                                                  ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      449 |             frame = frame->f_back;
          |                          ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h: In function ‘pybind11::function pybind11::detail::get_type_override(const void*, const pybind11::detail::type_info*, const char*)’:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
     2291 |     PyFrameObject *frame = PyThreadState_Get()->frame;
          |                                                 ^~~~~
          |                                                 cframe
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2292 |     if (frame && (std::string) str(frame->f_code->co_name) == name &&
          |                                         ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2293 |         frame->f_code->co_argcount > 0) {
          |              ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2296 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
          |                  ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:38,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:30: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2296 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
          |                              ^~~~~~~~~~~~~~~~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:8:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp: In lambda function:
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:74:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
       74 |         for (size_t k = 0; k < size; ++k)
          |                            ~~^~~~~~
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp: In lambda function:
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:96:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘pybind11::ssize_t’ {aka ‘long int’} [-Wsign-compare]
       96 |         for (size_t i = 0; i < dm.shape(0); i++)
          |                            ~~^~~~~~~~~~~~~
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:97:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘pybind11::ssize_t’ {aka ‘long int’} [-Wsign-compare]
       97 |           for (size_t j = 0; j < dm.shape(1); j++)
          |                              ~~^~~~~~~~~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:6:
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h: In instantiation of ‘Gudhi::collapse::Flag_complex_edge_collapser<int, float>::edge_is_dominated(int, int, Gudhi::collapse::Flag_complex_edge_collapser<int, float>::edge_idx_t)::<lambda(auto:8&)> [with auto:8 = const int]’:
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h:220:25:   required from ‘void Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::custom_intersection(vertex_t, vertex_t, Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::edge_idx_t, const Func&) [with Func = Gudhi::collapse::Flag_complex_edge_collapser<int, float>::edge_is_dominated(int, int, Gudhi::collapse::Flag_complex_edge_collapser<int, float>::edge_idx_t)::<lambda(auto:8&)>; vertex_t = int; filt_t = float; Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::edge_idx_t = int]’
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h:278:28:   required from ‘const bool Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::edge_is_dominated(vertex_t, vertex_t, Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::edge_idx_t) [with vertex_t = int; filt_t = float; Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::edge_idx_t = int]’
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h:489:18:   required from ‘void Gudhi::collapse::Flag_complex_edge_collapser<vertex_t, filt_t>::process_edges(FilteredEdgeOutput) [with FilteredEdgeOutput = Gudhi::collapse::flag_complex_collapse_edges<std::vector<std::tuple<int, int, float> > >(const std::vector<std::tuple<int, int, float> >&)::<lambda(vertex_t, vertex_t, filt_t)>; vertex_t = int; filt_t = float]’
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h:534:37:   required from ‘auto Gudhi::collapse::flag_complex_collapse_edges(const FilteredEdgeRange&) [with FilteredEdgeRange = std::vector<std::tuple<int, int, float> >]’
    /home/liebl/prj/giotto/giotto-ph/gph/bindings/collapser_bindings.cpp:81:72:   required from here
    /home/liebl/prj/giotto/giotto-ph/gph/src/Flag_complex_edge_collapser.h:288:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
      288 |                    idx_ongoing < intersection_vec.size()) {
          |                    ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h: In function ‘std::string pybind11::detail::error_string()’:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:36: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                    ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:75: error: expected primary-expression before ‘>’ token
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                                                           ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:446:77: error: expected primary-expression before ‘)’ token
      446 |                 "  " + handle(frame->f_code->co_filename).cast<std::string>() +
          |                                                                             ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:29: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                             ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:64: error: expected primary-expression before ‘>’ token
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                                                                ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:448:66: error: expected primary-expression before ‘)’ token
      448 |                 handle(frame->f_code->co_name).cast<std::string>() + "\n";
          |                                                                  ^
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:449:26: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
      449 |             frame = frame->f_back;
          |                          ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h: In function ‘pybind11::function pybind11::detail::get_type_override(const void*, const pybind11::detail::type_info*, const char*)’:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2291:49: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
     2291 |     PyFrameObject *frame = PyThreadState_Get()->frame;
          |                                                 ^~~~~
          |                                                 cframe
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2292:41: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2292 |     if (frame && (std::string) str(frame->f_code->co_name) == name &&
          |                                         ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2293:14: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2293 |         frame->f_code->co_argcount > 0) {
          |              ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:18: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2296 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
          |                  ^~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:38,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:2296:30: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
     2296 |             frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
          |                              ^~~~~~~~~~~~~~~~
    In file included from /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/Python.h:42,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/detail/common.h:124,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pytypes.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/cast.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/attr.h:13,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/pybind11.h:45,
                     from /home/liebl/prj/giotto/giotto-ph/gph/ext/pybind11/include/pybind11/numpy.h:12,
                     from /home/liebl/prj/giotto/giotto-ph/gph/bindings/ripser_bindings.cpp:10:
    /home/liebl/anaconda3/envs/jupyterlab/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
       22 | typedef struct _frame PyFrameObject;
          |                ^~~~~~
    gmake[2]: *** [CMakeFiles/gph_collapser.dir/build.make:76: CMakeFiles/gph_collapser.dir/gph/bindings/collapser_bindings.cpp.o] Error 1
    gmake[1]: *** [CMakeFiles/Makefile2:193: CMakeFiles/gph_collapser.dir/all] Error 2
    gmake[1]: *** Waiting for unfinished jobs....
    gmake[2]: *** [CMakeFiles/gph_ripser.dir/build.make:76: CMakeFiles/gph_ripser.dir/gph/bindings/ripser_bindings.cpp.o] Error 1
    gmake[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/gph_ripser.dir/all] Error 2
    gmake: *** [Makefile:91: all] Error 2
ulupo commented 8 months ago

Hi! Perhaps this is related to https://github.com/giotto-ai/giotto-tda/pull/689? Maybe a similar fix can be made here? @rballeba what do you think?

rballeba commented 8 months ago

Yes! I updated the giotto-tda version for this reason. I have also created a pull request for giotto-ph. I'm going to tag you there.