2025-09-07T20:25:13,702 Created temporary directory: /tmp/pip-build-tracker-wpqhv26z 2025-09-07T20:25:13,703 Initialized build tracking at /tmp/pip-build-tracker-wpqhv26z 2025-09-07T20:25:13,703 Created build tracker: /tmp/pip-build-tracker-wpqhv26z 2025-09-07T20:25:13,703 Entered build tracker: /tmp/pip-build-tracker-wpqhv26z 2025-09-07T20:25:13,704 Created temporary directory: /tmp/pip-wheel-xxsdzw6u 2025-09-07T20:25:13,707 Created temporary directory: /tmp/pip-ephem-wheel-cache-crmvp2u6 2025-09-07T20:25:13,767 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-07T20:25:13,769 2 location(s) to search for versions of kmpp: 2025-09-07T20:25:13,769 * https://pypi.org/simple/kmpp/ 2025-09-07T20:25:13,769 * https://www.piwheels.org/simple/kmpp/ 2025-09-07T20:25:13,770 Fetching project page and analyzing links: https://pypi.org/simple/kmpp/ 2025-09-07T20:25:13,770 Getting page https://pypi.org/simple/kmpp/ 2025-09-07T20:25:13,771 Found index url https://pypi.org/simple/ 2025-09-07T20:25:13,927 Fetched page https://pypi.org/simple/kmpp/ as application/vnd.pypi.simple.v1+json 2025-09-07T20:25:13,930 Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/ae/ce/87e890f43116043118b0c6c42e2508f98b3cd55670d900a140c8acc8e88b/kmpp-1.0.0b1_wrapper2.win32-py2.6.exe (from https://pypi.org/simple/kmpp/) 2025-09-07T20:25:13,931 Found link https://files.pythonhosted.org/packages/15/66/43a54b7616f287a602c8cbdd3bdedfbefdb793deea27e39493d57e1ed1b1/kmpp-1.0.0b1_wrapper2.zip (from https://pypi.org/simple/kmpp/), version: 1.0.0b1_wrapper2 2025-09-07T20:25:13,931 Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/5a/60/46701b35d2497ee3a35c39a82e94955c5082ae2c212cf38e8935aa91137e/kmpp-1.0.0b1.win32-py2.6.exe (from https://pypi.org/simple/kmpp/) 2025-09-07T20:25:13,931 Found link https://files.pythonhosted.org/packages/9c/8b/d6bfc26b90eb56760af34fea8364d5dcf462448de6ab55d258611488f6e6/kmpp-1.0.0b1.zip (from https://pypi.org/simple/kmpp/), version: 1.0.0b1 2025-09-07T20:25:13,932 Fetching project page and analyzing links: https://www.piwheels.org/simple/kmpp/ 2025-09-07T20:25:13,933 Getting page https://www.piwheels.org/simple/kmpp/ 2025-09-07T20:25:13,934 Found index url https://www.piwheels.org/simple/ 2025-09-07T20:25:14,025 Fetched page https://www.piwheels.org/simple/kmpp/ as text/html 2025-09-07T20:25:14,026 Skipping link: not a file: https://www.piwheels.org/simple/kmpp/ 2025-09-07T20:25:14,027 Skipping link: not a file: https://pypi.org/simple/kmpp/ 2025-09-07T20:25:14,053 Given no hashes to check 1 links for project 'kmpp': discarding no candidates 2025-09-07T20:25:14,054 Collecting kmpp==1.0.0b1 2025-09-07T20:25:14,055 Created temporary directory: /tmp/pip-unpack-ms7f4jyk 2025-09-07T20:25:14,195 Downloading kmpp-1.0.0b1.zip (149 kB) 2025-09-07T20:25:14,238 Added kmpp==1.0.0b1 from https://files.pythonhosted.org/packages/9c/8b/d6bfc26b90eb56760af34fea8364d5dcf462448de6ab55d258611488f6e6/kmpp-1.0.0b1.zip to build tracker '/tmp/pip-build-tracker-wpqhv26z' 2025-09-07T20:25:14,240 Running setup.py (path:/tmp/pip-wheel-xxsdzw6u/kmpp_6e305000e2084c1b8b5b9dc37312a53c/setup.py) egg_info for package kmpp 2025-09-07T20:25:14,240 Created temporary directory: /tmp/pip-pip-egg-info-y7pt6efn 2025-09-07T20:25:14,240 Preparing metadata (setup.py): started 2025-09-07T20:25:14,241 Running command python setup.py egg_info 2025-09-07T20:25:15,824 file kmpp_test.py (for module kmpp_test) not found 2025-09-07T20:25:16,106 Preparing metadata (setup.py): finished with status 'done' 2025-09-07T20:25:16,111 Source in /tmp/pip-wheel-xxsdzw6u/kmpp_6e305000e2084c1b8b5b9dc37312a53c has version 1.0.0b1, which satisfies requirement kmpp==1.0.0b1 from https://files.pythonhosted.org/packages/9c/8b/d6bfc26b90eb56760af34fea8364d5dcf462448de6ab55d258611488f6e6/kmpp-1.0.0b1.zip 2025-09-07T20:25:16,111 Removed kmpp==1.0.0b1 from https://files.pythonhosted.org/packages/9c/8b/d6bfc26b90eb56760af34fea8364d5dcf462448de6ab55d258611488f6e6/kmpp-1.0.0b1.zip from build tracker '/tmp/pip-build-tracker-wpqhv26z' 2025-09-07T20:25:16,114 Created temporary directory: /tmp/pip-unpack-vgf1bfgw 2025-09-07T20:25:16,114 Created temporary directory: /tmp/pip-unpack-e7cjx4so 2025-09-07T20:25:16,115 Building wheels for collected packages: kmpp 2025-09-07T20:25:16,116 Created temporary directory: /tmp/pip-wheel-wvdo_qut 2025-09-07T20:25:16,116 DEPRECATION: Building 'kmpp' 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 'kmpp'. Discussion can be found at https://github.com/pypa/pip/issues/6334 2025-09-07T20:25:16,118 Building wheel for kmpp (setup.py): started 2025-09-07T20:25:16,118 Destination directory: /tmp/pip-wheel-wvdo_qut 2025-09-07T20:25:16,118 Running command python setup.py bdist_wheel 2025-09-07T20:25:17,724 file kmpp_test.py (for module kmpp_test) not found 2025-09-07T20:25:17,724 file kmpp_test.py (for module kmpp_test) not found 2025-09-07T20:25:25,155 kmppmodule.cpp:67:1: warning: multi-line comment [-Wcomment] 2025-09-07T20:25:25,155 67 | //PyArrayObject *thisone = (PyArrayObject *) \ 2025-09-07T20:25:25,155 | ^ 2025-09-07T20:25:26,339 In file included from /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/arrayobject.h:5, 2025-09-07T20:25:26,339 from kmppmodule.cpp:2: 2025-09-07T20:25:26,339 kmppmodule.cpp: In function ‘PyObject* kmpp_RunKMeansPlusPlus(PyObject*, PyObject*)’: 2025-09-07T20:25:26,339 kmppmodule.cpp:34:78: error: ‘NPY_IN_ARRAY’ was not declared in this scope 2025-09-07T20:25:26,339 34 | PyObject *points_pyo = PyArray_FROM_OTF(points_temp_pyo, NPY_DOUBLE, NPY_IN_ARRAY); 2025-09-07T20:25:26,339 | ^~~~~~~~~~~~ 2025-09-07T20:25:26,339 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarrayobject.h:91:28: note: in definition of macro ‘PyArray_FROM_OTF’ 2025-09-07T20:25:26,340 91 | (((flags) & NPY_ARRAY_ENSURECOPY) ? \ 2025-09-07T20:25:26,340 | ^~~~~ 2025-09-07T20:25:26,340 kmppmodule.cpp:38:39: error: cannot convert ‘PyObject*’ {aka ‘_object*’} to ‘const PyArrayObject*’ {aka ‘const tagPyArrayObject_fields*’} 2025-09-07T20:25:26,340 38 | int nd = PyArray_NDIM(points_pyo); 2025-09-07T20:25:26,340 | ^~~~~~~~~~ 2025-09-07T20:25:26,340 | | 2025-09-07T20:25:26,340 | PyObject* {aka _object*} 2025-09-07T20:25:26,340 In file included from /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarrayobject.h:12: 2025-09-07T20:25:26,340 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarraytypes.h:1506:35: note: initializing argument 1 of ‘int PyArray_NDIM(const PyArrayObject*)’ 2025-09-07T20:25:26,341 1506 | PyArray_NDIM(const PyArrayObject *arr) 2025-09-07T20:25:26,341 | ~~~~~~~~~~~~~~~~~~~~~^~~ 2025-09-07T20:25:26,341 kmppmodule.cpp:40:47: error: cannot convert ‘PyObject*’ {aka ‘_object*’} to ‘const PyArrayObject*’ {aka ‘const tagPyArrayObject_fields*’} 2025-09-07T20:25:26,341 40 | npy_intp *dims = PyArray_DIMS(points_pyo); 2025-09-07T20:25:26,341 | ^~~~~~~~~~ 2025-09-07T20:25:26,341 | | 2025-09-07T20:25:26,341 | PyObject* {aka _object*} 2025-09-07T20:25:26,341 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarraytypes.h:1524:35: note: initializing argument 1 of ‘npy_intp* PyArray_DIMS(const PyArrayObject*)’ 2025-09-07T20:25:26,341 1524 | PyArray_DIMS(const PyArrayObject *arr) 2025-09-07T20:25:26,341 | ~~~~~~~~~~~~~~~~~~~~~^~~ 2025-09-07T20:25:26,342 kmppmodule.cpp:59:49: error: cannot convert ‘PyObject*’ {aka ‘_object*’} to ‘const PyArrayObject*’ {aka ‘const tagPyArrayObject_fields*’} 2025-09-07T20:25:26,342 59 | Scalar *points = (Scalar *)PyArray_DATA(points_pyo); 2025-09-07T20:25:26,342 | ^~~~~~~~~~ 2025-09-07T20:25:26,342 | | 2025-09-07T20:25:26,342 | PyObject* {aka _object*} 2025-09-07T20:25:26,342 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarraytypes.h:1512:35: note: initializing argument 1 of ‘void* PyArray_DATA(const PyArrayObject*)’ 2025-09-07T20:25:26,342 1512 | PyArray_DATA(const PyArrayObject *arr) 2025-09-07T20:25:26,342 | ~~~~~~~~~~~~~~~~~~~~~^~~ 2025-09-07T20:25:26,342 kmppmodule.cpp:60:50: error: cannot convert ‘PyObject*’ {aka ‘_object*’} to ‘const PyArrayObject*’ {aka ‘const tagPyArrayObject_fields*’} 2025-09-07T20:25:26,342 60 | Scalar *centers = (Scalar *)PyArray_DATA(centers_pyo); 2025-09-07T20:25:26,343 | ^~~~~~~~~~~ 2025-09-07T20:25:26,343 | | 2025-09-07T20:25:26,343 | PyObject* {aka _object*} 2025-09-07T20:25:26,343 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarraytypes.h:1512:35: note: initializing argument 1 of ‘void* PyArray_DATA(const PyArrayObject*)’ 2025-09-07T20:25:26,343 1512 | PyArray_DATA(const PyArrayObject *arr) 2025-09-07T20:25:26,343 | ~~~~~~~~~~~~~~~~~~~~~^~~ 2025-09-07T20:25:26,343 kmppmodule.cpp:61:48: error: cannot convert ‘PyObject*’ {aka ‘_object*’} to ‘const PyArrayObject*’ {aka ‘const tagPyArrayObject_fields*’} 2025-09-07T20:25:26,343 61 | int *assignments = (int *)PyArray_DATA(assignments_pyo); 2025-09-07T20:25:26,344 | ^~~~~~~~~~~~~~~ 2025-09-07T20:25:26,344 | | 2025-09-07T20:25:26,344 | PyObject* {aka _object*} 2025-09-07T20:25:26,344 /usr/local/lib/python3.13/dist-packages/numpy/_core/include/numpy/ndarraytypes.h:1512:35: note: initializing argument 1 of ‘void* PyArray_DATA(const PyArrayObject*)’ 2025-09-07T20:25:26,344 1512 | PyArray_DATA(const PyArrayObject *arr) 2025-09-07T20:25:26,344 | ~~~~~~~~~~~~~~~~~~~~~^~~ 2025-09-07T20:25:26,344 kmppmodule.cpp:73:2: error: jump to label ‘fail’ 2025-09-07T20:25:26,344 73 | fail: 2025-09-07T20:25:26,344 | ^~~~ 2025-09-07T20:25:26,344 kmppmodule.cpp:39:35: note: from here 2025-09-07T20:25:26,345 39 | if (nd != 2) goto fail; 2025-09-07T20:25:26,345 | ^~~~ 2025-09-07T20:25:26,345 kmppmodule.cpp:62:16: note: crosses initialization of ‘Scalar cost’ 2025-09-07T20:25:26,345 62 | Scalar cost = RunKMeansPlusPlus( 2025-09-07T20:25:26,345 | ^~~~ 2025-09-07T20:25:26,345 kmppmodule.cpp:61:14: note: crosses initialization of ‘int* assignments’ 2025-09-07T20:25:26,345 61 | int *assignments = (int *)PyArray_DATA(assignments_pyo); 2025-09-07T20:25:26,345 | ^~~~~~~~~~~ 2025-09-07T20:25:26,345 kmppmodule.cpp:60:17: note: crosses initialization of ‘Scalar* centers’ 2025-09-07T20:25:26,345 60 | Scalar *centers = (Scalar *)PyArray_DATA(centers_pyo); 2025-09-07T20:25:26,346 | ^~~~~~~ 2025-09-07T20:25:26,346 kmppmodule.cpp:59:17: note: crosses initialization of ‘Scalar* points’ 2025-09-07T20:25:26,346 59 | Scalar *points = (Scalar *)PyArray_DATA(points_pyo); 2025-09-07T20:25:26,346 | ^~~~~~ 2025-09-07T20:25:26,366 kmppmodule.cpp: In function ‘PyObject* initkmpp()’: 2025-09-07T20:25:26,366 kmppmodule.cpp:88:10: error: ‘Py_InitModule’ was not declared in this scope 2025-09-07T20:25:26,366 88 | (void)Py_InitModule("kmpp", mymethods); 2025-09-07T20:25:26,367 | ^~~~~~~~~~~~~ 2025-09-07T20:25:26,599 kmppmodule.cpp:90:1: warning: control reaches end of non-void function [-Wreturn-type] 2025-09-07T20:25:26,599 90 | } 2025-09-07T20:25:26,599 | ^ 2025-09-07T20:25:26,611 error: command '/usr/bin/arm-linux-gnueabihf-g++' failed with exit code 1 2025-09-07T20:25:26,779 ERROR: python setup.py bdist_wheel exited with 1 2025-09-07T20:25:26,791 [bold magenta]full command[/]: [blue]/usr/bin/python3 -u -c ' 2025-09-07T20:25:26,791 exec(compile('"'"''"'"''"'"' 2025-09-07T20:25:26,791 # This is -- a caller that pip uses to run setup.py 2025-09-07T20:25:26,791 # 2025-09-07T20:25:26,791 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-07T20:25:26,791 # import from `distutils.core` to work with newer packaging standards. 2025-09-07T20:25:26,791 # - It provides a clear error message when setuptools is not installed. 2025-09-07T20:25:26,791 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-07T20:25:26,791 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-07T20:25:26,791 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-07T20:25:26,791 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-07T20:25:26,791 import os, sys, tokenize, traceback 2025-09-07T20:25:26,791 2025-09-07T20:25:26,791 try: 2025-09-07T20:25:26,791 import setuptools 2025-09-07T20:25:26,791 except ImportError: 2025-09-07T20:25:26,791 print( 2025-09-07T20:25:26,791 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-07T20:25:26,791 "the build environment with exception:", 2025-09-07T20:25:26,791 file=sys.stderr, 2025-09-07T20:25:26,791 ) 2025-09-07T20:25:26,791 traceback.print_exc() 2025-09-07T20:25:26,791 sys.exit(1) 2025-09-07T20:25:26,791 2025-09-07T20:25:26,791 __file__ = %r 2025-09-07T20:25:26,791 sys.argv[0] = __file__ 2025-09-07T20:25:26,791 2025-09-07T20:25:26,791 if os.path.exists(__file__): 2025-09-07T20:25:26,791 filename = __file__ 2025-09-07T20:25:26,791 with tokenize.open(__file__) as f: 2025-09-07T20:25:26,791 setup_py_code = f.read() 2025-09-07T20:25:26,791 else: 2025-09-07T20:25:26,791 filename = "" 2025-09-07T20:25:26,791 setup_py_code = "from setuptools import setup; setup()" 2025-09-07T20:25:26,791 2025-09-07T20:25:26,791 exec(compile(setup_py_code, filename, "exec")) 2025-09-07T20:25:26,791 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-xxsdzw6u/kmpp_6e305000e2084c1b8b5b9dc37312a53c/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-wvdo_qut[/] 2025-09-07T20:25:26,791 [bold magenta]cwd[/]: /tmp/pip-wheel-xxsdzw6u/kmpp_6e305000e2084c1b8b5b9dc37312a53c/ 2025-09-07T20:25:26,791 Building wheel for kmpp (setup.py): finished with status 'error' 2025-09-07T20:25:26,792 ERROR: Failed building wheel for kmpp 2025-09-07T20:25:26,793 Running setup.py clean for kmpp 2025-09-07T20:25:26,793 Running command python setup.py clean 2025-09-07T20:25:28,228 'build/lib.linux-armv7l-cpython-313' does not exist -- can't clean it 2025-09-07T20:25:28,228 'build/bdist.linux-armv7l' does not exist -- can't clean it 2025-09-07T20:25:28,228 'build/scripts-3.13' does not exist -- can't clean it 2025-09-07T20:25:28,362 Failed to build kmpp 2025-09-07T20:25:28,363 ERROR: Failed to build one or more wheels 2025-09-07T20:25:28,364 Exception information: 2025-09-07T20:25:28,364 Traceback (most recent call last): 2025-09-07T20:25:28,364 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T20:25:28,364 status = _inner_run() 2025-09-07T20:25:28,364 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T20:25:28,364 return self.run(options, args) 2025-09-07T20:25:28,364 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:25:28,364 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T20:25:28,364 return func(self, options, args) 2025-09-07T20:25:28,364 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 180, in run 2025-09-07T20:25:28,364 raise CommandError("Failed to build one or more wheels") 2025-09-07T20:25:28,364 pip._internal.exceptions.CommandError: Failed to build one or more wheels 2025-09-07T20:25:28,368 Removed build tracker: '/tmp/pip-build-tracker-wpqhv26z'