2025-09-09T18:16:43,285 Created temporary directory: /tmp/pip-build-tracker-y80cob6j 2025-09-09T18:16:43,285 Initialized build tracking at /tmp/pip-build-tracker-y80cob6j 2025-09-09T18:16:43,285 Created build tracker: /tmp/pip-build-tracker-y80cob6j 2025-09-09T18:16:43,285 Entered build tracker: /tmp/pip-build-tracker-y80cob6j 2025-09-09T18:16:43,286 Created temporary directory: /tmp/pip-wheel-rjslrudw 2025-09-09T18:16:43,289 Created temporary directory: /tmp/pip-ephem-wheel-cache-qq1f7vzz 2025-09-09T18:16:43,347 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-09T18:16:43,349 2 location(s) to search for versions of bats-tda: 2025-09-09T18:16:43,349 * https://pypi.org/simple/bats-tda/ 2025-09-09T18:16:43,349 * https://www.piwheels.org/simple/bats-tda/ 2025-09-09T18:16:43,349 Fetching project page and analyzing links: https://pypi.org/simple/bats-tda/ 2025-09-09T18:16:43,350 Getting page https://pypi.org/simple/bats-tda/ 2025-09-09T18:16:43,351 Found index url https://pypi.org/simple/ 2025-09-09T18:16:43,499 Fetched page https://pypi.org/simple/bats-tda/ as application/vnd.pypi.simple.v1+json 2025-09-09T18:16:43,505 Found link https://files.pythonhosted.org/packages/bc/29/a80c4be659d05c22f8dae2e0a3eab912bdc2b60086e64fdffadc4f9cf3b9/bats-tda-0.0.0.tar.gz (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.7), version: 0.0.0 2025-09-09T18:16:43,506 Found link https://files.pythonhosted.org/packages/71/09/37563a06919fc5ad8e8c7ffb3061396b3a6e38a8e0652eb13663a08ebf1c/bats-tda-0.0.1.tar.gz (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.7), version: 0.0.1 2025-09-09T18:16:43,506 Found link https://files.pythonhosted.org/packages/c5/64/e37113985c40c35b8f152f6be65571feba7daf85ea6ac5cc7a785ffb41f8/bats-tda-0.1.0.tar.gz (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.7), version: 0.1.0 2025-09-09T18:16:43,508 Found link https://files.pythonhosted.org/packages/fd/0e/418ee02ffbe9ccb556f5db3d8c21a719cac72b2c601899f279abb76169d4/bats-tda-0.2.0.tar.gz (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6), version: 0.2.0 2025-09-09T18:16:43,508 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/73/18/f2490256b33dbc3284118237e1e2694dd8118576b1d93f123507ee39f0b7/bats_tda-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,509 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/5a/65/4257aa2137d4b1475d970cf2ffa2ef14c89944184d62457e190d313e0223/bats_tda-0.2.0-cp310-cp310-manylinux_2_24_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,509 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/bd/a0/6cb8bea46cab7b1110db1e239f0e2ed83e6ae5f05f9d46fb6213e1a35fee/bats_tda-0.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,509 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/f9/fc/7c58365b40f8f90fe99fa33e694cd02457aa0229e8636492929962536bba/bats_tda-0.2.0-cp36-cp36m-manylinux_2_24_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,510 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/6d/de/f8096a1c1f95f9dedcde411ec96e5dc7e8fc9a4fa7332b47134491c72caf/bats_tda-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,510 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/3a/8e/251cbef59eca5ebb7b8cbba905562bc5ec1415bf273451cceb29090abe3c/bats_tda-0.2.0-cp38-cp38-manylinux_2_24_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,510 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/b9/95/7d334ee31269400bd43496e79208f47ebc2458b48f5d9f0539cbd75b958a/bats_tda-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,511 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/b3/61/bd0fe0355975da56d26da872b8d97edaec26b8afe8c979d8adf4ad9724e9/bats_tda-0.2.0-cp39-cp39-manylinux_2_24_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,511 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/fd/1d/725bdd0f057084a52a042dc72b24dd24599d3945e2ebbda2a20f7f9d16f2/bats_tda-0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,511 Skipping link: No binaries permitted for bats-tda: https://files.pythonhosted.org/packages/2d/39/d51aa8ad5ec72b830a12892295d00ccc3fe172a6c93843e9f6f4da13fd79/bats_tda-0.2.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl (from https://pypi.org/simple/bats-tda/) (requires-python:>=3.6) 2025-09-09T18:16:43,512 Fetching project page and analyzing links: https://www.piwheels.org/simple/bats-tda/ 2025-09-09T18:16:43,512 Getting page https://www.piwheels.org/simple/bats-tda/ 2025-09-09T18:16:43,514 Found index url https://www.piwheels.org/simple/ 2025-09-09T18:16:43,605 Fetched page https://www.piwheels.org/simple/bats-tda/ as text/html 2025-09-09T18:16:43,606 Skipping link: not a file: https://www.piwheels.org/simple/bats-tda/ 2025-09-09T18:16:43,606 Skipping link: not a file: https://pypi.org/simple/bats-tda/ 2025-09-09T18:16:43,629 Given no hashes to check 1 links for project 'bats-tda': discarding no candidates 2025-09-09T18:16:43,630 Collecting bats-tda==0.0.0 2025-09-09T18:16:43,632 Created temporary directory: /tmp/pip-unpack-8ws8ae8i 2025-09-09T18:16:43,775 Downloading bats-tda-0.0.0.tar.gz (274 kB) 2025-09-09T18:16:43,930 Added bats-tda==0.0.0 from https://files.pythonhosted.org/packages/bc/29/a80c4be659d05c22f8dae2e0a3eab912bdc2b60086e64fdffadc4f9cf3b9/bats-tda-0.0.0.tar.gz to build tracker '/tmp/pip-build-tracker-y80cob6j' 2025-09-09T18:16:43,931 Running setup.py (path:/tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/setup.py) egg_info for package bats-tda 2025-09-09T18:16:43,931 Created temporary directory: /tmp/pip-pip-egg-info-mzsg1j53 2025-09-09T18:16:43,931 Preparing metadata (setup.py): started 2025-09-09T18:16:43,932 Running command python setup.py egg_info 2025-09-09T18:16:45,018 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-09T18:16:45,018 !! 2025-09-09T18:16:45,019 ******************************************************************************** 2025-09-09T18:16:45,019 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-09T18:16:45,019 License :: OSI Approved :: MIT License 2025-09-09T18:16:45,019 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-09T18:16:45,019 ******************************************************************************** 2025-09-09T18:16:45,019 !! 2025-09-09T18:16:45,019 self._finalize_license_expression() 2025-09-09T18:16:45,091 running egg_info 2025-09-09T18:16:45,164 creating /tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info 2025-09-09T18:16:45,164 writing /tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/PKG-INFO 2025-09-09T18:16:45,166 writing dependency_links to /tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/dependency_links.txt 2025-09-09T18:16:45,166 writing requirements to /tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/requires.txt 2025-09-09T18:16:45,167 writing top-level names to /tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/top_level.txt 2025-09-09T18:16:45,167 writing manifest file '/tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/SOURCES.txt' 2025-09-09T18:16:45,461 reading manifest file '/tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/SOURCES.txt' 2025-09-09T18:16:45,462 reading manifest template 'MANIFEST.in' 2025-09-09T18:16:45,472 warning: no previously-included files matching '*.cpp' found under directory 'BATS' 2025-09-09T18:16:45,475 adding license file 'LICENSE' 2025-09-09T18:16:45,480 writing manifest file '/tmp/pip-pip-egg-info-mzsg1j53/bats_tda.egg-info/SOURCES.txt' 2025-09-09T18:16:45,596 Preparing metadata (setup.py): finished with status 'done' 2025-09-09T18:16:45,601 Source in /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4 has version 0.0.0, which satisfies requirement bats-tda==0.0.0 from https://files.pythonhosted.org/packages/bc/29/a80c4be659d05c22f8dae2e0a3eab912bdc2b60086e64fdffadc4f9cf3b9/bats-tda-0.0.0.tar.gz 2025-09-09T18:16:45,601 Removed bats-tda==0.0.0 from https://files.pythonhosted.org/packages/bc/29/a80c4be659d05c22f8dae2e0a3eab912bdc2b60086e64fdffadc4f9cf3b9/bats-tda-0.0.0.tar.gz from build tracker '/tmp/pip-build-tracker-y80cob6j' 2025-09-09T18:16:45,606 Created temporary directory: /tmp/pip-unpack-i7w4fu15 2025-09-09T18:16:45,606 Created temporary directory: /tmp/pip-unpack-4abc8b7_ 2025-09-09T18:16:45,607 Building wheels for collected packages: bats-tda 2025-09-09T18:16:45,608 Created temporary directory: /tmp/pip-wheel-4vsb5w0z 2025-09-09T18:16:45,608 DEPRECATION: Building 'bats-tda' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'bats-tda'. Discussion can be found at https://github.com/pypa/pip/issues/6334 2025-09-09T18:16:45,610 Building wheel for bats-tda (setup.py): started 2025-09-09T18:16:45,610 Destination directory: /tmp/pip-wheel-4vsb5w0z 2025-09-09T18:16:45,610 Running command python setup.py bdist_wheel 2025-09-09T18:16:46,678 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-09T18:16:46,679 !! 2025-09-09T18:16:46,679 ******************************************************************************** 2025-09-09T18:16:46,679 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-09T18:16:46,679 License :: OSI Approved :: MIT License 2025-09-09T18:16:46,679 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-09T18:16:46,679 ******************************************************************************** 2025-09-09T18:16:46,680 !! 2025-09-09T18:16:46,680 self._finalize_license_expression() 2025-09-09T18:16:46,680 running bdist_wheel 2025-09-09T18:16:47,045 running build 2025-09-09T18:16:47,045 running build_py 2025-09-09T18:16:47,123 creating build/lib.linux-armv7l-cpython-313/bats 2025-09-09T18:16:47,123 copying bats/__init__.py -> build/lib.linux-armv7l-cpython-313/bats 2025-09-09T18:16:47,124 creating build/lib.linux-armv7l-cpython-313/bats/visualization 2025-09-09T18:16:47,124 copying bats/visualization/visualization.py -> build/lib.linux-armv7l-cpython-313/bats/visualization 2025-09-09T18:16:47,125 copying bats/visualization/plotly.py -> build/lib.linux-armv7l-cpython-313/bats/visualization 2025-09-09T18:16:47,126 copying bats/visualization/__init__.py -> build/lib.linux-armv7l-cpython-313/bats/visualization 2025-09-09T18:16:47,127 running build_ext 2025-09-09T18:16:47,487 building 'bats.libbats' extension 2025-09-09T18:16:47,488 creating build/temp.linux-armv7l-cpython-313/bats 2025-09-09T18:16:47,488 arm-linux-gnueabihf-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/ -I/tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/ -I/usr/include/python3.13 -c bats/libbats.cpp -o build/temp.linux-armv7l-cpython-313/bats/libbats.o -std=c++17 -fopenmp 2025-09-09T18:16:50,858 In file included from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg.hpp:7, 2025-09-09T18:16:50,858 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/bats.hpp:11, 2025-09-09T18:16:50,858 from bats/pybats.hpp:9, 2025-09-09T18:16:50,858 from bats/libbats.cpp:1: 2025-09-09T18:16:50,858 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:345:14: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 2025-09-09T18:16:50,858 345 | A(){ m=0;n=0;} 2025-09-09T18:16:50,859 | ^ 2025-09-09T18:16:50,859 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:345:14: note: remove the ‘< >’ 2025-09-09T18:16:50,859 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:348:14: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 2025-09-09T18:16:50,859 348 | A(const A &m2) {m = m2.m; n = m2.n; mat = m2.mat; macc=m2.macc; } 2025-09-09T18:16:50,859 | ^ 2025-09-09T18:16:50,859 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:348:14: note: remove the ‘< >’ 2025-09-09T18:16:50,859 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:350:11: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 2025-09-09T18:16:50,859 350 | A(size_t mm, size_t nn, F* mat) : m(mm), n(nn), mat(mat) { 2025-09-09T18:16:50,859 | ^~~~~~ 2025-09-09T18:16:50,860 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:350:11: note: remove the ‘< >’ 2025-09-09T18:16:50,860 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:354:11: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 2025-09-09T18:16:50,860 354 | A(size_t mm, size_t nn) : m(mm), n(nn) { 2025-09-09T18:16:50,860 | ^~~~~~ 2025-09-09T18:16:50,860 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/naive_dense.hpp:354:11: note: remove the ‘< >’ 2025-09-09T18:16:51,905 In file included from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/future.hpp:3, 2025-09-09T18:16:51,906 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/bats.hpp:22: 2025-09-09T18:16:51,906 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/future/dense.hpp:34:23: warning: ‘template struct std::iterator’ is deprecated [-Wdeprecated-declarations] 2025-09-09T18:16:51,906 34 | : public std::iterator 2025-09-09T18:16:51,906 | ^~~~~~~~ 2025-09-09T18:16:51,906 In file included from /usr/include/c++/14/bits/stl_algobase.h:65, 2025-09-09T18:16:51,906 from /usr/include/c++/14/vector:62, 2025-09-09T18:16:51,906 from bats/pybats.hpp:6: 2025-09-09T18:16:51,906 /usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here 2025-09-09T18:16:51,906 127 | struct _GLIBCXX17_DEPRECATED iterator 2025-09-09T18:16:51,907 | ^~~~~~~~ 2025-09-09T18:16:51,907 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/future/dense.hpp:66:23: warning: ‘template struct std::iterator’ is deprecated [-Wdeprecated-declarations] 2025-09-09T18:16:51,908 66 | : public std::iterator 2025-09-09T18:16:51,908 | ^~~~~~~~ 2025-09-09T18:16:51,908 /usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here 2025-09-09T18:16:51,908 127 | struct _GLIBCXX17_DEPRECATED iterator 2025-09-09T18:16:51,908 | ^~~~~~~~ 2025-09-09T18:16:51,909 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/future/dense.hpp:125:31: warning: ‘template struct std::iterator’ is deprecated [-Wdeprecated-declarations] 2025-09-09T18:16:51,909 125 | : public std::iterator 2025-09-09T18:16:51,910 | ^~~~~~~~ 2025-09-09T18:16:51,910 /usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here 2025-09-09T18:16:51,910 127 | struct _GLIBCXX17_DEPRECATED iterator 2025-09-09T18:16:51,910 | ^~~~~~~~ 2025-09-09T18:16:53,086 In file included from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:16, 2025-09-09T18:16:53,086 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/attr.h:13, 2025-09-09T18:16:53,086 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:44, 2025-09-09T18:16:53,087 from bats/libbats.cpp:3: 2025-09-09T18:16:53,087 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/detail/internals.h: In function ‘pybind11::detail::internals& pybind11::detail::get_internals()’: 2025-09-09T18:16:53,087 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/detail/internals.h:276:27: warning: ‘void PyEval_InitThreads()’ is deprecated [-Wdeprecated-declarations] 2025-09-09T18:16:53,087 276 | PyEval_InitThreads(); 2025-09-09T18:16:53,087 | ~~~~~~~~~~~~~~~~~~^~ 2025-09-09T18:16:53,087 In file included from /usr/include/python3.13/Python.h:124, 2025-09-09T18:16:53,087 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/detail/common.h:112, 2025-09-09T18:16:53,087 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pytypes.h:12, 2025-09-09T18:16:53,087 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:13: 2025-09-09T18:16:53,088 /usr/include/python3.13/ceval.h:114:37: note: declared here 2025-09-09T18:16:53,088 114 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); 2025-09-09T18:16:53,088 | ^~~~~~~~~~~~~~~~~~ 2025-09-09T18:16:53,166 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h: In function ‘std::string pybind11::detail::error_string()’: 2025-09-09T18:16:53,166 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:446:36: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,167 446 | " " + handle(frame->f_code->co_filename).cast() + 2025-09-09T18:16:53,167 | ^~ 2025-09-09T18:16:53,167 In file included from /usr/include/python3.13/Python.h:67: 2025-09-09T18:16:53,167 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,167 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,167 | ^~~~~~ 2025-09-09T18:16:53,167 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:446:75: error: expected primary-expression before ‘>’ token 2025-09-09T18:16:53,167 446 | " " + handle(frame->f_code->co_filename).cast() + 2025-09-09T18:16:53,167 | ^ 2025-09-09T18:16:53,168 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:446:77: error: expected primary-expression before ‘)’ token 2025-09-09T18:16:53,168 446 | " " + handle(frame->f_code->co_filename).cast() + 2025-09-09T18:16:53,168 | ^ 2025-09-09T18:16:53,168 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:448:29: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,168 448 | handle(frame->f_code->co_name).cast() + "\n"; 2025-09-09T18:16:53,168 | ^~ 2025-09-09T18:16:53,168 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,168 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,168 | ^~~~~~ 2025-09-09T18:16:53,168 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:448:64: error: expected primary-expression before ‘>’ token 2025-09-09T18:16:53,168 448 | handle(frame->f_code->co_name).cast() + "\n"; 2025-09-09T18:16:53,169 | ^ 2025-09-09T18:16:53,169 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:448:66: error: expected primary-expression before ‘)’ token 2025-09-09T18:16:53,169 448 | handle(frame->f_code->co_name).cast() + "\n"; 2025-09-09T18:16:53,169 | ^ 2025-09-09T18:16:53,169 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/cast.h:449:26: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,169 449 | frame = frame->f_back; 2025-09-09T18:16:53,169 | ^~ 2025-09-09T18:16:53,169 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,169 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,170 | ^~~~~~ 2025-09-09T18:16:53,618 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h: In function ‘pybind11::function pybind11::get_type_overload(const void*, const detail::type_info*, const char*)’: 2025-09-09T18:16:53,618 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2053:49: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’ 2025-09-09T18:16:53,618 2053 | PyFrameObject *frame = PyThreadState_Get()->frame; 2025-09-09T18:16:53,618 | ^~~~~ 2025-09-09T18:16:53,618 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2054:41: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,618 2054 | if (frame && (std::string) str(frame->f_code->co_name) == name && 2025-09-09T18:16:53,619 | ^~ 2025-09-09T18:16:53,619 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,619 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,619 | ^~~~~~ 2025-09-09T18:16:53,619 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2055:14: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,619 2055 | frame->f_code->co_argcount > 0) { 2025-09-09T18:16:53,619 | ^~ 2025-09-09T18:16:53,619 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,619 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,619 | ^~~~~~ 2025-09-09T18:16:53,620 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2058:18: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,620 2058 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0)); 2025-09-09T18:16:53,620 | ^~ 2025-09-09T18:16:53,620 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,620 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,620 | ^~~~~~ 2025-09-09T18:16:53,620 In file included from /usr/include/python3.13/Python.h:63: 2025-09-09T18:16:53,620 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2058:52: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,620 2058 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0)); 2025-09-09T18:16:53,621 | ^~ 2025-09-09T18:16:53,621 /usr/include/python3.13/pyport.h:19:38: note: in definition of macro ‘_Py_CAST’ 2025-09-09T18:16:53,621 19 | #define _Py_CAST(type, expr) ((type)(expr)) 2025-09-09T18:16:53,621 | ^~~~ 2025-09-09T18:16:53,621 /usr/include/python3.13/cpython/tupleobject.h:27:38: note: in expansion of macro ‘_PyTuple_CAST’ 2025-09-09T18:16:53,621 27 | #define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[(index)]) 2025-09-09T18:16:53,621 | ^~~~~~~~~~~~~ 2025-09-09T18:16:53,621 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/pybind11/include/pybind11/pybind11.h:2058:30: note: in expansion of macro ‘PyTuple_GET_ITEM’ 2025-09-09T18:16:53,621 2058 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0)); 2025-09-09T18:16:53,621 | ^~~~~~~~~~~~~~~~ 2025-09-09T18:16:53,622 /usr/include/python3.13/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’} 2025-09-09T18:16:53,622 22 | typedef struct _frame PyFrameObject; 2025-09-09T18:16:53,622 | ^~~~~~ 2025-09-09T18:16:54,573 In file included from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/zigzag_filtration.hpp:9, 2025-09-09T18:16:54,573 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag.hpp:3, 2025-09-09T18:16:54,574 from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/bats.hpp:18: 2025-09-09T18:16:54,574 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp: In instantiation of ‘auto bats::zigzag::zigzag_barcode_reduction(const bats::ChainComplex&, const std::vector >&, ssize_t, opt_flag, reduction_flag) [with MT = ColumnMatrix, unsigned int> >; T = double; opt_flag = bats::no_optimization_flag; reduction_flag = bats::standard_reduction_flag; ssize_t = int]’: 2025-09-09T18:16:54,574 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/zigzag_filtration.hpp:525:33: required from ‘auto bats::zigzag::barcode(const ZigzagFiltration&, ssize_t, FT, opt_flag, reduction_flag) [with CpxT = bats::CubicalComplex; T = double; FT = ModP; opt_flag = bats::no_optimization_flag; reduction_flag = bats::standard_reduction_flag; ssize_t = int]’ 2025-09-09T18:16:54,574 525 | return zigzag_barcode_reduction(C, filt_order, maxdim, opt_flag(), reduction_flag()); 2025-09-09T18:16:54,574 | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:16:54,574 bats/libbats.cpp:429:2: required from here 2025-09-09T18:16:54,574 176 | m.def("ZigzagBarcode", [](zigzag::ZigzagFiltration& F, size_t maxdim, F2){return zigzag::barcode(F, maxdim, F2(), no_optimization_flag(), standard_reduction_flag()); });\ 2025-09-09T18:16:54,574 | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:16:54,574 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:463:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,575 463 | if ((k < maxdim + 2) && F.R[k][j].nnz() > 0) { 2025-09-09T18:16:54,575 | ~~~^~~~~~~~~~~~~ 2025-09-09T18:16:54,579 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:491:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,579 491 | } else if (k < maxdim + 1) { 2025-09-09T18:16:54,579 | ~~^~~~~~~~~~~~ 2025-09-09T18:16:54,580 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:519:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,581 519 | if ((k < maxdim + 2) && F.R[k][fval.ind].nnz() > 0) { 2025-09-09T18:16:54,581 | ~~~^~~~~~~~~~~~~ 2025-09-09T18:16:54,583 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:548:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,583 548 | } else if (k < maxdim + 1) { 2025-09-09T18:16:54,583 | ~~^~~~~~~~~~~~ 2025-09-09T18:16:54,593 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp: In instantiation of ‘auto bats::zigzag::zigzag_barcode_reduction(const bats::ChainComplex&, const std::vector >&, ssize_t, opt_flag, reduction_flag) [with MT = ColumnMatrix, unsigned int> >; T = double; opt_flag = bats::no_optimization_flag; reduction_flag = bats::extra_reduction_flag; ssize_t = int]’: 2025-09-09T18:16:54,593 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/zigzag_filtration.hpp:525:33: required from ‘auto bats::zigzag::barcode(const ZigzagFiltration&, ssize_t, FT, opt_flag, reduction_flag) [with CpxT = bats::CubicalComplex; T = double; FT = ModP; opt_flag = bats::no_optimization_flag; reduction_flag = bats::extra_reduction_flag; ssize_t = int]’ 2025-09-09T18:16:54,593 525 | return zigzag_barcode_reduction(C, filt_order, maxdim, opt_flag(), reduction_flag()); 2025-09-09T18:16:54,593 | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:16:54,593 bats/libbats.cpp:429:2: required from here 2025-09-09T18:16:54,594 177 | m.def("ZigzagBarcode", [](zigzag::ZigzagFiltration& F, size_t maxdim, F2, extra_reduction_flag){return zigzag::barcode(F, maxdim, F2(), no_optimization_flag(), extra_reduction_flag()); });\ 2025-09-09T18:16:54,594 | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:16:54,594 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:463:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,594 463 | if ((k < maxdim + 2) && F.R[k][j].nnz() > 0) { 2025-09-09T18:16:54,594 | ~~~^~~~~~~~~~~~~ 2025-09-09T18:16:54,596 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:491:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,596 491 | } else if (k < maxdim + 1) { 2025-09-09T18:16:54,596 | ~~^~~~~~~~~~~~ 2025-09-09T18:16:54,597 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:519:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,598 519 | if ((k < maxdim + 2) && F.R[k][fval.ind].nnz() > 0) { 2025-09-09T18:16:54,598 | ~~~^~~~~~~~~~~~~ 2025-09-09T18:16:54,600 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/reduction.hpp:548:38: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘unsigned int’} and ‘ssize_t’ {aka ‘int’} [-Wsign-compare] 2025-09-09T18:16:54,600 548 | } else if (k < maxdim + 1) { 2025-09-09T18:16:54,600 | ~~^~~~~~~~~~~~ 2025-09-09T18:16:54,655 In file included from /usr/include/c++/14/bits/stl_algobase.h:64: 2025-09-09T18:16:54,656 /usr/include/c++/14/bits/stl_pair.h: In instantiation of ‘constexpr std::pair::type>::__type, typename std::__strip_reference_wrapper::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = double&; _T2 = double&; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp>::type = double; typename __strip_reference_wrapper::type>::__type = double; typename decay<_Tp2>::type = double]’: 2025-09-09T18:16:54,656 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/zigzag/extension.hpp:69:50: required from ‘auto bats::zigzag::extend_zigzag_filtration(const std::vector<_RealType>&, const CpxT&, T) [with T = double; CpxT = bats::SimplicialComplex]’ 2025-09-09T18:16:54,656 69 | val[k][i].emplace_back(std::make_pair(entry, removal)); 2025-09-09T18:16:54,656 | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 2025-09-09T18:16:54,656 bats/libbats.cpp:431:137: required from here 2025-09-09T18:16:54,656 431 | m.def("extend_zigzag_filtration", [](std::vector& f0, SimplicialComplex& X, double eps){return zigzag::extend_zigzag_filtration(f0, X, eps); }); 2025-09-09T18:16:54,656 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ 2025-09-09T18:16:54,656 /usr/include/c++/14/bits/stl_pair.h:1132:5: note: parameter passing for argument of type ‘std::pair’ when C++17 is enabled changed to match C++14 in GCC 10.1 2025-09-09T18:16:54,656 1132 | make_pair(_T1&& __x, _T2&& __y) 2025-09-09T18:16:54,656 | ^~~~~~~~~ 2025-09-09T18:17:17,979 In file included from /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg.hpp:3: 2025-09-09T18:17:17,979 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp: In instantiation of ‘void ColumnMatrix::insert_columns(const std::vector&, std::vector<_RealType>&) [with TC = SparseVector, unsigned int>]’: 2025-09-09T18:17:17,979 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/homology/basis.hpp:423:24: required from ‘void bats::ReducedChainComplex::update_basis_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:17,979 423 | R[k].insert_columns(add_inds, Rcol); 2025-09-09T18:17:17,979 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 2025-09-09T18:17:17,980 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/persistence/filtered_basis.hpp:152:26: required from ‘void bats::ReducedFilteredChainComplex::update_filtration_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; T = double; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:17,980 152 | RC.update_basis_general(updating_information, args...); 2025-09-09T18:17:17,980 | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:17,980 bats/libbats.cpp:491:5: required from here 2025-09-09T18:17:17,980 234 | #define ReducedFilteredChainComplexInterface(T, MT, name) py::class_>(m, name)\ 2025-09-09T18:17:17,980 235 | .def(py::init<>())\ 2025-09-09T18:17:17,980 236 | .def(py::init&>())\ 2025-09-09T18:17:17,980 237 | .def(py::init&, bats::standard_reduction_flag>())\ 2025-09-09T18:17:17,980 238 | .def(py::init&, bats::standard_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:17,981 239 | .def(py::init&, bats::standard_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:17,981 240 | .def(py::init&, bats::standard_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:17,981 241 | .def(py::init&, bats::extra_reduction_flag>())\ 2025-09-09T18:17:17,981 242 | .def(py::init&, bats::extra_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:17,981 243 | .def(py::init&, bats::extra_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:17,981 244 | .def("nnz_U", &ReducedFilteredChainComplex::get_nnz_U, "get the number of non-zeros in U")\ 2025-09-09T18:17:17,981 245 | .def("nnz_R", &ReducedFilteredChainComplex::get_nnz_R, "get the number of non-zeros in R")\ 2025-09-09T18:17:17,981 246 | .def(py::init&, bats::extra_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:17,981 247 | .def("reduced_complex", [](ReducedFilteredChainComplex& C){return C.RC;}, "underlying reduced complex")\ 2025-09-09T18:17:17,981 248 | .def("val", [](ReducedFilteredChainComplex& C) {return C.val;}, "filtration values")\ 2025-09-09T18:17:17,982 249 | .def("perm", [](ReducedFilteredChainComplex& C) {return C.perm;}, "permutation from original order")\ 2025-09-09T18:17:17,982 250 | .def("dim", &ReducedFilteredChainComplex::dim)\ 2025-09-09T18:17:17,982 251 | .def("maxdim", &ReducedFilteredChainComplex::maxdim)\ 2025-09-09T18:17:17,982 252 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p){return F.representative(p, false); })\ 2025-09-09T18:17:17,982 253 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p, bool perm){return F.representative(p, perm); })\ 2025-09-09T18:17:17,982 254 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k){return F.persistence_pairs(k);} )\ 2025-09-09T18:17:17,982 255 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k, bool perm){return F.persistence_pairs(k, perm);} )\ 2025-09-09T18:17:17,982 256 | .def("update_filtration", &ReducedFilteredChainComplex::update_filtration, "update filtration with new values")\ 2025-09-09T18:17:17,982 257 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information")\ 2025-09-09T18:17:17,982 258 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information"); 2025-09-09T18:17:17,983 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:17,983 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:17,983 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:17,983 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:50: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:17,983 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:17,983 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:17,983 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:220:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:17,983 220 | while (oldi < col.size()) { 2025-09-09T18:17:17,983 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:17,983 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:226:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:17,984 226 | while (newi < insert_col.size()) { 2025-09-09T18:17:17,984 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,297 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp: In instantiation of ‘void ColumnMatrix::insert_columns(const std::vector&, std::vector<_RealType>&) [with TC = SparseVector, unsigned int>]’: 2025-09-09T18:17:18,297 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/homology/basis.hpp:423:24: required from ‘void bats::ReducedChainComplex::update_basis_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,297 423 | R[k].insert_columns(add_inds, Rcol); 2025-09-09T18:17:18,297 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,297 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/persistence/filtered_basis.hpp:152:26: required from ‘void bats::ReducedFilteredChainComplex::update_filtration_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; T = double; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,297 152 | RC.update_basis_general(updating_information, args...); 2025-09-09T18:17:18,297 | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,297 bats/libbats.cpp:492:5: required from here 2025-09-09T18:17:18,297 234 | #define ReducedFilteredChainComplexInterface(T, MT, name) py::class_>(m, name)\ 2025-09-09T18:17:18,298 235 | .def(py::init<>())\ 2025-09-09T18:17:18,298 236 | .def(py::init&>())\ 2025-09-09T18:17:18,298 237 | .def(py::init&, bats::standard_reduction_flag>())\ 2025-09-09T18:17:18,298 238 | .def(py::init&, bats::standard_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,298 239 | .def(py::init&, bats::standard_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,298 240 | .def(py::init&, bats::standard_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,298 241 | .def(py::init&, bats::extra_reduction_flag>())\ 2025-09-09T18:17:18,298 242 | .def(py::init&, bats::extra_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,298 243 | .def(py::init&, bats::extra_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,298 244 | .def("nnz_U", &ReducedFilteredChainComplex::get_nnz_U, "get the number of non-zeros in U")\ 2025-09-09T18:17:18,299 245 | .def("nnz_R", &ReducedFilteredChainComplex::get_nnz_R, "get the number of non-zeros in R")\ 2025-09-09T18:17:18,299 246 | .def(py::init&, bats::extra_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,299 247 | .def("reduced_complex", [](ReducedFilteredChainComplex& C){return C.RC;}, "underlying reduced complex")\ 2025-09-09T18:17:18,299 248 | .def("val", [](ReducedFilteredChainComplex& C) {return C.val;}, "filtration values")\ 2025-09-09T18:17:18,299 249 | .def("perm", [](ReducedFilteredChainComplex& C) {return C.perm;}, "permutation from original order")\ 2025-09-09T18:17:18,299 250 | .def("dim", &ReducedFilteredChainComplex::dim)\ 2025-09-09T18:17:18,299 251 | .def("maxdim", &ReducedFilteredChainComplex::maxdim)\ 2025-09-09T18:17:18,299 252 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p){return F.representative(p, false); })\ 2025-09-09T18:17:18,299 253 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p, bool perm){return F.representative(p, perm); })\ 2025-09-09T18:17:18,299 254 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k){return F.persistence_pairs(k);} )\ 2025-09-09T18:17:18,300 255 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k, bool perm){return F.persistence_pairs(k, perm);} )\ 2025-09-09T18:17:18,300 256 | .def("update_filtration", &ReducedFilteredChainComplex::update_filtration, "update filtration with new values")\ 2025-09-09T18:17:18,300 257 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information")\ 2025-09-09T18:17:18,300 258 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information"); 2025-09-09T18:17:18,300 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,300 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,300 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,300 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:50: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,300 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,300 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,301 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:220:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,301 220 | while (oldi < col.size()) { 2025-09-09T18:17:18,301 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,301 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:226:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,301 226 | while (newi < insert_col.size()) { 2025-09-09T18:17:18,301 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,619 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp: In instantiation of ‘void ColumnMatrix::insert_columns(const std::vector&, std::vector<_RealType>&) [with TC = SparseVector, unsigned int>]’: 2025-09-09T18:17:18,619 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/homology/basis.hpp:423:24: required from ‘void bats::ReducedChainComplex::update_basis_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,619 423 | R[k].insert_columns(add_inds, Rcol); 2025-09-09T18:17:18,619 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,619 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/persistence/filtered_basis.hpp:152:26: required from ‘void bats::ReducedFilteredChainComplex::update_filtration_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; T = double; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,619 152 | RC.update_basis_general(updating_information, args...); 2025-09-09T18:17:18,620 | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,620 bats/libbats.cpp:493:5: required from here 2025-09-09T18:17:18,620 234 | #define ReducedFilteredChainComplexInterface(T, MT, name) py::class_>(m, name)\ 2025-09-09T18:17:18,620 235 | .def(py::init<>())\ 2025-09-09T18:17:18,620 236 | .def(py::init&>())\ 2025-09-09T18:17:18,620 237 | .def(py::init&, bats::standard_reduction_flag>())\ 2025-09-09T18:17:18,620 238 | .def(py::init&, bats::standard_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,620 239 | .def(py::init&, bats::standard_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,620 240 | .def(py::init&, bats::standard_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,620 241 | .def(py::init&, bats::extra_reduction_flag>())\ 2025-09-09T18:17:18,620 242 | .def(py::init&, bats::extra_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,621 243 | .def(py::init&, bats::extra_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,621 244 | .def("nnz_U", &ReducedFilteredChainComplex::get_nnz_U, "get the number of non-zeros in U")\ 2025-09-09T18:17:18,621 245 | .def("nnz_R", &ReducedFilteredChainComplex::get_nnz_R, "get the number of non-zeros in R")\ 2025-09-09T18:17:18,621 246 | .def(py::init&, bats::extra_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,621 247 | .def("reduced_complex", [](ReducedFilteredChainComplex& C){return C.RC;}, "underlying reduced complex")\ 2025-09-09T18:17:18,621 248 | .def("val", [](ReducedFilteredChainComplex& C) {return C.val;}, "filtration values")\ 2025-09-09T18:17:18,621 249 | .def("perm", [](ReducedFilteredChainComplex& C) {return C.perm;}, "permutation from original order")\ 2025-09-09T18:17:18,621 250 | .def("dim", &ReducedFilteredChainComplex::dim)\ 2025-09-09T18:17:18,621 251 | .def("maxdim", &ReducedFilteredChainComplex::maxdim)\ 2025-09-09T18:17:18,621 252 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p){return F.representative(p, false); })\ 2025-09-09T18:17:18,621 253 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p, bool perm){return F.representative(p, perm); })\ 2025-09-09T18:17:18,622 254 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k){return F.persistence_pairs(k);} )\ 2025-09-09T18:17:18,622 255 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k, bool perm){return F.persistence_pairs(k, perm);} )\ 2025-09-09T18:17:18,622 256 | .def("update_filtration", &ReducedFilteredChainComplex::update_filtration, "update filtration with new values")\ 2025-09-09T18:17:18,622 257 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information")\ 2025-09-09T18:17:18,622 258 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information"); 2025-09-09T18:17:18,622 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,622 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,622 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,622 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:50: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,623 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,623 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,623 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:220:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,623 220 | while (oldi < col.size()) { 2025-09-09T18:17:18,623 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,623 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:226:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,623 226 | while (newi < insert_col.size()) { 2025-09-09T18:17:18,623 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,936 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp: In instantiation of ‘void ColumnMatrix::insert_columns(const std::vector&, std::vector<_RealType>&) [with TC = SparseVector, unsigned int>]’: 2025-09-09T18:17:18,936 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/homology/basis.hpp:423:24: required from ‘void bats::ReducedChainComplex::update_basis_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,937 423 | R[k].insert_columns(add_inds, Rcol); 2025-09-09T18:17:18,937 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,937 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/persistence/filtered_basis.hpp:152:26: required from ‘void bats::ReducedFilteredChainComplex::update_filtration_general(const Information_type&, Args ...) [with Information_type = bats::Update_info >; Args = {}; T = double; MT = ColumnMatrix, unsigned int> >]’ 2025-09-09T18:17:18,937 152 | RC.update_basis_general(updating_information, args...); 2025-09-09T18:17:18,937 | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,937 bats/libbats.cpp:494:5: required from here 2025-09-09T18:17:18,937 234 | #define ReducedFilteredChainComplexInterface(T, MT, name) py::class_>(m, name)\ 2025-09-09T18:17:18,937 235 | .def(py::init<>())\ 2025-09-09T18:17:18,937 236 | .def(py::init&>())\ 2025-09-09T18:17:18,937 237 | .def(py::init&, bats::standard_reduction_flag>())\ 2025-09-09T18:17:18,938 238 | .def(py::init&, bats::standard_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,938 239 | .def(py::init&, bats::standard_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,938 240 | .def(py::init&, bats::standard_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,938 241 | .def(py::init&, bats::extra_reduction_flag>())\ 2025-09-09T18:17:18,938 242 | .def(py::init&, bats::extra_reduction_flag, bats::compute_basis_flag>())\ 2025-09-09T18:17:18,938 243 | .def(py::init&, bats::extra_reduction_flag, bats::clearing_flag>())\ 2025-09-09T18:17:18,938 244 | .def("nnz_U", &ReducedFilteredChainComplex::get_nnz_U, "get the number of non-zeros in U")\ 2025-09-09T18:17:18,938 245 | .def("nnz_R", &ReducedFilteredChainComplex::get_nnz_R, "get the number of non-zeros in R")\ 2025-09-09T18:17:18,938 246 | .def(py::init&, bats::extra_reduction_flag, bats::compression_flag>())\ 2025-09-09T18:17:18,938 247 | .def("reduced_complex", [](ReducedFilteredChainComplex& C){return C.RC;}, "underlying reduced complex")\ 2025-09-09T18:17:18,939 248 | .def("val", [](ReducedFilteredChainComplex& C) {return C.val;}, "filtration values")\ 2025-09-09T18:17:18,939 249 | .def("perm", [](ReducedFilteredChainComplex& C) {return C.perm;}, "permutation from original order")\ 2025-09-09T18:17:18,939 250 | .def("dim", &ReducedFilteredChainComplex::dim)\ 2025-09-09T18:17:18,939 251 | .def("maxdim", &ReducedFilteredChainComplex::maxdim)\ 2025-09-09T18:17:18,939 252 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p){return F.representative(p, false); })\ 2025-09-09T18:17:18,939 253 | .def("representative", [](ReducedFilteredChainComplex& F, PersistencePair& p, bool perm){return F.representative(p, perm); })\ 2025-09-09T18:17:18,939 254 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k){return F.persistence_pairs(k);} )\ 2025-09-09T18:17:18,939 255 | .def("persistence_pairs", [](ReducedFilteredChainComplex& F, size_t k, bool perm){return F.persistence_pairs(k, perm);} )\ 2025-09-09T18:17:18,939 256 | .def("update_filtration", &ReducedFilteredChainComplex::update_filtration, "update filtration with new values")\ 2025-09-09T18:17:18,939 257 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information")\ 2025-09-09T18:17:18,939 258 | .def("update_filtration_general", &ReducedFilteredChainComplex::update_filtration_general>>, "generally update filtration with updating information"); 2025-09-09T18:17:18,940 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,940 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,940 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,940 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:206:50: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,940 206 | while (oldi < col.size() && newi < insert_col.size()) { 2025-09-09T18:17:18,940 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:18,940 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:220:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,940 220 | while (oldi < col.size()) { 2025-09-09T18:17:18,940 | ~~~~~^~~~~~~~~~~~ 2025-09-09T18:17:18,941 /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/BATS_include/include/linalg/col_matrix.hpp:226:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, unsigned int>, std::allocator, unsigned int> > >::size_type’ {aka ‘unsigned int’} [-Wsign-compare] 2025-09-09T18:17:18,941 226 | while (newi < insert_col.size()) { 2025-09-09T18:17:18,941 | ~~~~~^~~~~~~~~~~~~~~~~~~ 2025-09-09T18:17:46,365 virtual memory exhausted: Cannot allocate memory 2025-09-09T18:17:46,469 error: command '/usr/bin/arm-linux-gnueabihf-g++' failed with exit code 1 2025-09-09T18:17:46,619 ERROR: python setup.py bdist_wheel exited with 1 2025-09-09T18:17:46,631 [bold magenta]full command[/]: [blue]/usr/bin/python3 -u -c ' 2025-09-09T18:17:46,631 exec(compile('"'"''"'"''"'"' 2025-09-09T18:17:46,631 # This is -- a caller that pip uses to run setup.py 2025-09-09T18:17:46,631 # 2025-09-09T18:17:46,631 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-09T18:17:46,631 # import from `distutils.core` to work with newer packaging standards. 2025-09-09T18:17:46,631 # - It provides a clear error message when setuptools is not installed. 2025-09-09T18:17:46,631 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-09T18:17:46,631 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-09T18:17:46,631 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-09T18:17:46,631 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-09T18:17:46,631 import os, sys, tokenize, traceback 2025-09-09T18:17:46,631 2025-09-09T18:17:46,631 try: 2025-09-09T18:17:46,631 import setuptools 2025-09-09T18:17:46,631 except ImportError: 2025-09-09T18:17:46,631 print( 2025-09-09T18:17:46,631 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-09T18:17:46,631 "the build environment with exception:", 2025-09-09T18:17:46,631 file=sys.stderr, 2025-09-09T18:17:46,631 ) 2025-09-09T18:17:46,631 traceback.print_exc() 2025-09-09T18:17:46,631 sys.exit(1) 2025-09-09T18:17:46,631 2025-09-09T18:17:46,631 __file__ = %r 2025-09-09T18:17:46,631 sys.argv[0] = __file__ 2025-09-09T18:17:46,631 2025-09-09T18:17:46,631 if os.path.exists(__file__): 2025-09-09T18:17:46,631 filename = __file__ 2025-09-09T18:17:46,631 with tokenize.open(__file__) as f: 2025-09-09T18:17:46,631 setup_py_code = f.read() 2025-09-09T18:17:46,631 else: 2025-09-09T18:17:46,631 filename = "" 2025-09-09T18:17:46,631 setup_py_code = "from setuptools import setup; setup()" 2025-09-09T18:17:46,631 2025-09-09T18:17:46,631 exec(compile(setup_py_code, filename, "exec")) 2025-09-09T18:17:46,631 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-4vsb5w0z[/] 2025-09-09T18:17:46,631 [bold magenta]cwd[/]: /tmp/pip-wheel-rjslrudw/bats-tda_2e60e90bae0243bb81e0ab2b2cf9d8a4/ 2025-09-09T18:17:46,632 Building wheel for bats-tda (setup.py): finished with status 'error' 2025-09-09T18:17:46,632 ERROR: Failed building wheel for bats-tda 2025-09-09T18:17:46,633 Running setup.py clean for bats-tda 2025-09-09T18:17:46,634 Running command python setup.py clean 2025-09-09T18:17:47,850 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-09T18:17:47,850 !! 2025-09-09T18:17:47,850 ******************************************************************************** 2025-09-09T18:17:47,850 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-09T18:17:47,851 License :: OSI Approved :: MIT License 2025-09-09T18:17:47,851 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-09T18:17:47,851 ******************************************************************************** 2025-09-09T18:17:47,851 !! 2025-09-09T18:17:47,851 self._finalize_license_expression() 2025-09-09T18:17:47,928 running clean 2025-09-09T18:17:48,073 removing 'build/temp.linux-armv7l-cpython-313' (and everything under it) 2025-09-09T18:17:48,073 removing 'build/lib.linux-armv7l-cpython-313' (and everything under it) 2025-09-09T18:17:48,074 'build/bdist.linux-armv7l' does not exist -- can't clean it 2025-09-09T18:17:48,074 'build/scripts-3.13' does not exist -- can't clean it 2025-09-09T18:17:48,074 removing 'build' 2025-09-09T18:17:48,187 Failed to build bats-tda 2025-09-09T18:17:48,187 ERROR: Failed to build one or more wheels 2025-09-09T18:17:48,188 Exception information: 2025-09-09T18:17:48,188 Traceback (most recent call last): 2025-09-09T18:17:48,188 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-09T18:17:48,188 status = _inner_run() 2025-09-09T18:17:48,188 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-09T18:17:48,188 return self.run(options, args) 2025-09-09T18:17:48,188 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-09T18:17:48,188 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-09T18:17:48,188 return func(self, options, args) 2025-09-09T18:17:48,188 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 180, in run 2025-09-09T18:17:48,188 raise CommandError("Failed to build one or more wheels") 2025-09-09T18:17:48,188 pip._internal.exceptions.CommandError: Failed to build one or more wheels 2025-09-09T18:17:48,194 Removed build tracker: '/tmp/pip-build-tracker-y80cob6j'