2025-09-08T00:36:37,291 Created temporary directory: /tmp/pip-build-tracker-ri4x35j0 2025-09-08T00:36:37,292 Initialized build tracking at /tmp/pip-build-tracker-ri4x35j0 2025-09-08T00:36:37,292 Created build tracker: /tmp/pip-build-tracker-ri4x35j0 2025-09-08T00:36:37,292 Entered build tracker: /tmp/pip-build-tracker-ri4x35j0 2025-09-08T00:36:37,292 Created temporary directory: /tmp/pip-wheel-g0qvor6n 2025-09-08T00:36:37,295 Created temporary directory: /tmp/pip-ephem-wheel-cache-bq8ftw3u 2025-09-08T00:36:37,354 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T00:36:37,357 2 location(s) to search for versions of dutc-didyoumean: 2025-09-08T00:36:37,357 * https://pypi.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,357 * https://www.piwheels.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,357 Fetching project page and analyzing links: https://pypi.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,357 Getting page https://pypi.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,358 Found index url https://pypi.org/simple/ 2025-09-08T00:36:37,428 Fetched page https://pypi.org/simple/dutc-didyoumean/ as application/vnd.pypi.simple.v1+json 2025-09-08T00:36:37,429 Found link https://files.pythonhosted.org/packages/f4/ac/4d88847a5a101f9e3988e7eea58ae12f550ba626cedd3139acaf1c1321cd/dutc-didyoumean-0.1.0.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.0 2025-09-08T00:36:37,429 Found link https://files.pythonhosted.org/packages/56/31/7d344140d868a1130edd1268b2a07b87fdee2c5d6b2d71f1ce832990d8e9/dutc-didyoumean-0.1.1.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.1 2025-09-08T00:36:37,430 Found link https://files.pythonhosted.org/packages/b2/20/63925a4df3d6fce3a7f1a0d032a6649099886fef597dd39be400d4d11816/dutc-didyoumean-0.1.2.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.2 2025-09-08T00:36:37,430 Found link https://files.pythonhosted.org/packages/a5/65/d5cbfe179d933223f5d3781b6d23c8654bd7ab5a8b3057e720ddf9cd4b04/dutc-didyoumean-0.1.3.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.3 2025-09-08T00:36:37,430 Found link https://files.pythonhosted.org/packages/b3/26/d91067e698ecafd577174e1b69bdf67d593a34d3a7ee4bade420e2546f42/dutc-didyoumean-0.1.4.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.4 2025-09-08T00:36:37,430 Found link https://files.pythonhosted.org/packages/a7/e3/e4e91533d6f2697008bdefc43f93d60f87a72d548546cdc4dc438ef9bcf0/dutc-didyoumean-0.1.5.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.5 2025-09-08T00:36:37,430 Found link https://files.pythonhosted.org/packages/ea/26/0efc77643705870a668138321ad1d83b8a82088593bd2accd4baaf7fad91/dutc-didyoumean-0.1.6.tar.gz (from https://pypi.org/simple/dutc-didyoumean/), version: 0.1.6 2025-09-08T00:36:37,431 Fetching project page and analyzing links: https://www.piwheels.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,431 Getting page https://www.piwheels.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,432 Found index url https://www.piwheels.org/simple/ 2025-09-08T00:36:37,529 Fetched page https://www.piwheels.org/simple/dutc-didyoumean/ as text/html 2025-09-08T00:36:37,530 Skipping link: not a file: https://www.piwheels.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,530 Skipping link: not a file: https://pypi.org/simple/dutc-didyoumean/ 2025-09-08T00:36:37,552 Given no hashes to check 1 links for project 'dutc-didyoumean': discarding no candidates 2025-09-08T00:36:37,553 Collecting dutc-didyoumean==0.1.5 2025-09-08T00:36:37,555 Created temporary directory: /tmp/pip-unpack-ugm70566 2025-09-08T00:36:37,900 Downloading dutc-didyoumean-0.1.5.tar.gz (7.0 kB) 2025-09-08T00:36:37,927 Added dutc-didyoumean==0.1.5 from https://files.pythonhosted.org/packages/a7/e3/e4e91533d6f2697008bdefc43f93d60f87a72d548546cdc4dc438ef9bcf0/dutc-didyoumean-0.1.5.tar.gz to build tracker '/tmp/pip-build-tracker-ri4x35j0' 2025-09-08T00:36:37,928 Running setup.py (path:/tmp/pip-wheel-g0qvor6n/dutc-didyoumean_62c4a71edf714af49dfd1125c17e4f98/setup.py) egg_info for package dutc-didyoumean 2025-09-08T00:36:37,928 Created temporary directory: /tmp/pip-pip-egg-info-djnbt31k 2025-09-08T00:36:37,928 Preparing metadata (setup.py): started 2025-09-08T00:36:37,929 Running command python setup.py egg_info 2025-09-08T00:36:39,095 running egg_info 2025-09-08T00:36:39,172 creating /tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info 2025-09-08T00:36:39,172 writing /tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/PKG-INFO 2025-09-08T00:36:39,173 writing dependency_links to /tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/dependency_links.txt 2025-09-08T00:36:39,174 writing top-level names to /tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/top_level.txt 2025-09-08T00:36:39,174 writing manifest file '/tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/SOURCES.txt' 2025-09-08T00:36:39,394 reading manifest file '/tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/SOURCES.txt' 2025-09-08T00:36:39,395 reading manifest template 'MANIFEST.in' 2025-09-08T00:36:39,395 warning: no files found matching 'requirements.txt' 2025-09-08T00:36:39,398 writing manifest file '/tmp/pip-pip-egg-info-djnbt31k/dutc_didyoumean.egg-info/SOURCES.txt' 2025-09-08T00:36:39,510 Preparing metadata (setup.py): finished with status 'done' 2025-09-08T00:36:39,514 Source in /tmp/pip-wheel-g0qvor6n/dutc-didyoumean_62c4a71edf714af49dfd1125c17e4f98 has version 0.1.5, which satisfies requirement dutc-didyoumean==0.1.5 from https://files.pythonhosted.org/packages/a7/e3/e4e91533d6f2697008bdefc43f93d60f87a72d548546cdc4dc438ef9bcf0/dutc-didyoumean-0.1.5.tar.gz 2025-09-08T00:36:39,515 Removed dutc-didyoumean==0.1.5 from https://files.pythonhosted.org/packages/a7/e3/e4e91533d6f2697008bdefc43f93d60f87a72d548546cdc4dc438ef9bcf0/dutc-didyoumean-0.1.5.tar.gz from build tracker '/tmp/pip-build-tracker-ri4x35j0' 2025-09-08T00:36:39,518 Created temporary directory: /tmp/pip-unpack-mdgleijk 2025-09-08T00:36:39,518 Created temporary directory: /tmp/pip-unpack-rhrqz5ji 2025-09-08T00:36:39,518 Building wheels for collected packages: dutc-didyoumean 2025-09-08T00:36:39,520 Created temporary directory: /tmp/pip-wheel-z_ymha3d 2025-09-08T00:36:39,520 DEPRECATION: Building 'dutc-didyoumean' 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 'dutc-didyoumean'. Discussion can be found at https://github.com/pypa/pip/issues/6334 2025-09-08T00:36:39,521 Building wheel for dutc-didyoumean (setup.py): started 2025-09-08T00:36:39,522 Destination directory: /tmp/pip-wheel-z_ymha3d 2025-09-08T00:36:39,522 Running command python setup.py bdist_wheel 2025-09-08T00:36:40,601 running bdist_wheel 2025-09-08T00:36:40,966 running build 2025-09-08T00:36:40,966 running build_ext 2025-09-08T00:36:41,301 building 'didyoumean' extension 2025-09-08T00:36:41,302 creating build/temp.linux-armv7l-cpython-313/src 2025-09-08T00:36:41,303 arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -Isrc -I/usr/include/python3.13 -c src/didyoumean.c -o build/temp.linux-armv7l-cpython-313/src/didyoumean.o 2025-09-08T00:36:41,653 In file included from src/didyoumean.c:3: 2025-09-08T00:36:41,654 src/hook.h:5:10: error: #error "This only works on x86_64" 2025-09-08T00:36:41,654 5 | #error "This only works on x86_64" 2025-09-08T00:36:41,654 | ^~~~~ 2025-09-08T00:36:41,666 src/didyoumean.c: In function ‘hooked_PyObject_GetAttr’: 2025-09-08T00:36:41,666 src/didyoumean.c:15:14: error: implicit declaration of function ‘PyString_Check’; did you mean ‘PyMapping_Check’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,666 15 | if (!PyString_Check(name)) { 2025-09-08T00:36:41,666 | ^~~~~~~~~~~~~~ 2025-09-08T00:36:41,666 | PyMapping_Check 2025-09-08T00:36:41,701 src/didyoumean.c:21:32: error: implicit declaration of function ‘_PyUnicode_AsDefaultEncodedString’; did you mean ‘PyUnicode_AsEncodedString’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,702 21 | name = _PyUnicode_AsDefaultEncodedString(name, NULL); 2025-09-08T00:36:41,702 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,702 | PyUnicode_AsEncodedString 2025-09-08T00:36:41,702 src/didyoumean.c:21:30: error: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,702 21 | name = _PyUnicode_AsDefaultEncodedString(name, NULL); 2025-09-08T00:36:41,702 | ^ 2025-09-08T00:36:41,717 src/didyoumean.c:38:43: error: implicit declaration of function ‘PyString_AS_STRING’; did you mean ‘PyBytes_AS_STRING’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,717 38 | rv = (*tp->tp_getattr)(v, PyString_AS_STRING(name)); 2025-09-08T00:36:41,717 | ^~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,717 | PyBytes_AS_STRING 2025-09-08T00:36:41,718 src/didyoumean.c:38:43: error: passing argument 2 of ‘tp->tp_getattr’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,718 38 | rv = (*tp->tp_getattr)(v, PyString_AS_STRING(name)); 2025-09-08T00:36:41,718 | ^~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,718 | | 2025-09-08T00:36:41,718 | int 2025-09-08T00:36:41,718 src/didyoumean.c:38:43: note: expected ‘char *’ but argument is of type ‘int’ 2025-09-08T00:36:41,718 src/didyoumean.c:50:33: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’ 2025-09-08T00:36:41,718 50 | oldtype = tstate->curexc_type; 2025-09-08T00:36:41,718 | ^~ 2025-09-08T00:36:41,718 src/didyoumean.c:51:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’ 2025-09-08T00:36:41,718 51 | oldvalue = tstate->curexc_value; 2025-09-08T00:36:41,719 | ^~ 2025-09-08T00:36:41,719 src/didyoumean.c:52:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’ 2025-09-08T00:36:41,719 52 | oldtraceback = tstate->curexc_traceback; 2025-09-08T00:36:41,719 | ^~ 2025-09-08T00:36:41,719 src/didyoumean.c:55:23: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’ 2025-09-08T00:36:41,719 55 | tstate->curexc_type = NULL; 2025-09-08T00:36:41,719 | ^~ 2025-09-08T00:36:41,719 src/didyoumean.c:56:23: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’ 2025-09-08T00:36:41,719 56 | tstate->curexc_value = NULL; 2025-09-08T00:36:41,719 | ^~ 2025-09-08T00:36:41,719 src/didyoumean.c:57:23: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’ 2025-09-08T00:36:41,720 57 | tstate->curexc_traceback = NULL; 2025-09-08T00:36:41,720 | ^~ 2025-09-08T00:36:41,729 src/didyoumean.c:65:46: error: implicit declaration of function ‘PyString_Size’; did you mean ‘PyMapping_Size’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,729 65 | int candidate_dist = PyString_Size(name); 2025-09-08T00:36:41,729 | ^~~~~~~~~~~~~ 2025-09-08T00:36:41,729 | PyMapping_Size 2025-09-08T00:36:41,729 src/didyoumean.c:69:53: error: passing argument 1 of ‘distance’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,729 69 | int dist = distance(PyString_AS_STRING(name), PyString_AS_STRING(item)); 2025-09-08T00:36:41,729 | ^~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,729 | | 2025-09-08T00:36:41,729 | int 2025-09-08T00:36:41,730 In file included from src/didyoumean.c:2: 2025-09-08T00:36:41,730 src/levenshtein.h:4:20: note: expected ‘char *’ but argument is of type ‘int’ 2025-09-08T00:36:41,730 4 | int distance(char* a, char* b); 2025-09-08T00:36:41,730 | ~~~~~~^ 2025-09-08T00:36:41,730 src/didyoumean.c:69:79: error: passing argument 2 of ‘distance’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,730 69 | int dist = distance(PyString_AS_STRING(name), PyString_AS_STRING(item)); 2025-09-08T00:36:41,730 | ^~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,730 | | 2025-09-08T00:36:41,730 | int 2025-09-08T00:36:41,730 src/levenshtein.h:4:29: note: expected ‘char *’ but argument is of type ‘int’ 2025-09-08T00:36:41,730 4 | int distance(char* a, char* b); 2025-09-08T00:36:41,731 | ~~~~~~^ 2025-09-08T00:36:41,744 src/didyoumean.c:77:44: error: implicit declaration of function ‘PyString_FromFormat’; did you mean ‘PyBytes_FromFormat’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,745 77 | newvalue = PyString_FromFormat("%s\n\nMaybe you meant: .%s\n", 2025-09-08T00:36:41,745 | ^~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,745 | PyBytes_FromFormat 2025-09-08T00:36:41,745 src/didyoumean.c:77:42: error: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,745 77 | newvalue = PyString_FromFormat("%s\n\nMaybe you meant: .%s\n", 2025-09-08T00:36:41,745 | ^ 2025-09-08T00:36:41,745 src/didyoumean.c: In function ‘hooked_builtin_getattr’: 2025-09-08T00:36:41,745 src/didyoumean.c:105:14: error: assignment to ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,745 105 | name = _PyUnicode_AsDefaultEncodedString(name, NULL); 2025-09-08T00:36:41,746 | ^ 2025-09-08T00:36:41,759 src/didyoumean.c: In function ‘initdidyoumean’: 2025-09-08T00:36:41,759 src/didyoumean.c:146:9: error: implicit declaration of function ‘Py_InitModule3’ [-Wimplicit-function-declaration] 2025-09-08T00:36:41,759 146 | Py_InitModule3("didyoumean", module_methods, module_doc); 2025-09-08T00:36:41,759 | ^~~~~~~~~~~~~~ 2025-09-08T00:36:41,771 src/didyoumean.c:153:33: error: implicit declaration of function ‘PyString_FromString’; did you mean ‘PyLong_FromString’? [-Wimplicit-function-declaration] 2025-09-08T00:36:41,771 153 | PyObject* builtin_str = PyString_FromString("__builtin__"); 2025-09-08T00:36:41,771 | ^~~~~~~~~~~~~~~~~~~ 2025-09-08T00:36:41,772 | PyLong_FromString 2025-09-08T00:36:41,772 src/didyoumean.c:153:33: error: initialization of ‘PyObject *’ {aka ‘struct _object *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 2025-09-08T00:36:41,777 src/didyoumean.c:164:1: warning: control reaches end of non-void function [-Wreturn-type] 2025-09-08T00:36:41,778 164 | } 2025-09-08T00:36:41,778 | ^ 2025-09-08T00:36:41,781 error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 2025-09-08T00:36:41,928 ERROR: python setup.py bdist_wheel exited with 1 2025-09-08T00:36:41,940 [bold magenta]full command[/]: [blue]/usr/bin/python3 -u -c ' 2025-09-08T00:36:41,940 exec(compile('"'"''"'"''"'"' 2025-09-08T00:36:41,940 # This is -- a caller that pip uses to run setup.py 2025-09-08T00:36:41,940 # 2025-09-08T00:36:41,940 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T00:36:41,940 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T00:36:41,940 # - It provides a clear error message when setuptools is not installed. 2025-09-08T00:36:41,940 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T00:36:41,940 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T00:36:41,940 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T00:36:41,940 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T00:36:41,940 import os, sys, tokenize, traceback 2025-09-08T00:36:41,940 2025-09-08T00:36:41,940 try: 2025-09-08T00:36:41,940 import setuptools 2025-09-08T00:36:41,940 except ImportError: 2025-09-08T00:36:41,940 print( 2025-09-08T00:36:41,940 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T00:36:41,940 "the build environment with exception:", 2025-09-08T00:36:41,940 file=sys.stderr, 2025-09-08T00:36:41,940 ) 2025-09-08T00:36:41,940 traceback.print_exc() 2025-09-08T00:36:41,940 sys.exit(1) 2025-09-08T00:36:41,940 2025-09-08T00:36:41,940 __file__ = %r 2025-09-08T00:36:41,940 sys.argv[0] = __file__ 2025-09-08T00:36:41,940 2025-09-08T00:36:41,940 if os.path.exists(__file__): 2025-09-08T00:36:41,940 filename = __file__ 2025-09-08T00:36:41,940 with tokenize.open(__file__) as f: 2025-09-08T00:36:41,940 setup_py_code = f.read() 2025-09-08T00:36:41,940 else: 2025-09-08T00:36:41,940 filename = "" 2025-09-08T00:36:41,940 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T00:36:41,940 2025-09-08T00:36:41,940 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T00:36:41,940 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-g0qvor6n/dutc-didyoumean_62c4a71edf714af49dfd1125c17e4f98/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-z_ymha3d[/] 2025-09-08T00:36:41,940 [bold magenta]cwd[/]: /tmp/pip-wheel-g0qvor6n/dutc-didyoumean_62c4a71edf714af49dfd1125c17e4f98/ 2025-09-08T00:36:41,940 Building wheel for dutc-didyoumean (setup.py): finished with status 'error' 2025-09-08T00:36:41,941 ERROR: Failed building wheel for dutc-didyoumean 2025-09-08T00:36:41,941 Running setup.py clean for dutc-didyoumean 2025-09-08T00:36:41,942 Running command python setup.py clean 2025-09-08T00:36:43,069 running clean 2025-09-08T00:36:43,212 removing 'build/temp.linux-armv7l-cpython-313' (and everything under it) 2025-09-08T00:36:43,212 'build/lib.linux-armv7l-cpython-313' does not exist -- can't clean it 2025-09-08T00:36:43,212 'build/bdist.linux-armv7l' does not exist -- can't clean it 2025-09-08T00:36:43,212 'build/scripts-3.13' does not exist -- can't clean it 2025-09-08T00:36:43,212 removing 'build' 2025-09-08T00:36:43,323 Failed to build dutc-didyoumean 2025-09-08T00:36:43,324 ERROR: Failed to build one or more wheels 2025-09-08T00:36:43,325 Exception information: 2025-09-08T00:36:43,325 Traceback (most recent call last): 2025-09-08T00:36:43,325 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T00:36:43,325 status = _inner_run() 2025-09-08T00:36:43,325 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T00:36:43,325 return self.run(options, args) 2025-09-08T00:36:43,325 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T00:36:43,325 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T00:36:43,325 return func(self, options, args) 2025-09-08T00:36:43,325 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 180, in run 2025-09-08T00:36:43,325 raise CommandError("Failed to build one or more wheels") 2025-09-08T00:36:43,325 pip._internal.exceptions.CommandError: Failed to build one or more wheels 2025-09-08T00:36:43,329 Removed build tracker: '/tmp/pip-build-tracker-ri4x35j0'