2025-09-08T05:46:01,770 Created temporary directory: /tmp/pip-build-tracker-jor0uyq0 2025-09-08T05:46:01,771 Initialized build tracking at /tmp/pip-build-tracker-jor0uyq0 2025-09-08T05:46:01,771 Created build tracker: /tmp/pip-build-tracker-jor0uyq0 2025-09-08T05:46:01,771 Entered build tracker: /tmp/pip-build-tracker-jor0uyq0 2025-09-08T05:46:01,771 Created temporary directory: /tmp/pip-wheel-ge1w3rdx 2025-09-08T05:46:01,775 Created temporary directory: /tmp/pip-ephem-wheel-cache-ze00mi4_ 2025-09-08T05:46:01,831 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-08T05:46:01,833 2 location(s) to search for versions of gpioemu: 2025-09-08T05:46:01,833 * https://pypi.org/simple/gpioemu/ 2025-09-08T05:46:01,833 * https://www.piwheels.org/simple/gpioemu/ 2025-09-08T05:46:01,834 Fetching project page and analyzing links: https://pypi.org/simple/gpioemu/ 2025-09-08T05:46:01,834 Getting page https://pypi.org/simple/gpioemu/ 2025-09-08T05:46:01,835 Found index url https://pypi.org/simple/ 2025-09-08T05:46:01,978 Fetched page https://pypi.org/simple/gpioemu/ as application/vnd.pypi.simple.v1+json 2025-09-08T05:46:01,980 Found link https://files.pythonhosted.org/packages/ca/95/7718ade07b3513c001b3d8373d6e5fac4a71ee9502ec7cc3a232bdfb033b/GPIOEmu-0.0.3.tar.gz (from https://pypi.org/simple/gpioemu/), version: 0.0.3 2025-09-08T05:46:01,981 Fetching project page and analyzing links: https://www.piwheels.org/simple/gpioemu/ 2025-09-08T05:46:01,981 Getting page https://www.piwheels.org/simple/gpioemu/ 2025-09-08T05:46:01,983 Found index url https://www.piwheels.org/simple/ 2025-09-08T05:46:02,086 Fetched page https://www.piwheels.org/simple/gpioemu/ as text/html 2025-09-08T05:46:02,087 Skipping link: No binaries permitted for gpioemu: https://archive1.piwheels.org/simple/gpioemu/GPIOEmu-0.0.3-cp35-cp35m-linux_armv6l.whl#sha256=498dbba4c38f28cb5307878c0a66e24e35875024cf9e38e70e4630259a5f9079 (from https://www.piwheels.org/simple/gpioemu/) 2025-09-08T05:46:02,088 Skipping link: No binaries permitted for gpioemu: https://archive1.piwheels.org/simple/gpioemu/GPIOEmu-0.0.3-cp35-cp35m-linux_armv7l.whl#sha256=498dbba4c38f28cb5307878c0a66e24e35875024cf9e38e70e4630259a5f9079 (from https://www.piwheels.org/simple/gpioemu/) 2025-09-08T05:46:02,088 Skipping link: No binaries permitted for gpioemu: https://archive1.piwheels.org/simple/gpioemu/GPIOEmu-0.0.3-cp37-cp37m-linux_armv6l.whl#sha256=faf88fed70e90e23ade46453839109c0c65e480b5b06cd72a3480d08aa73b22a (from https://www.piwheels.org/simple/gpioemu/) 2025-09-08T05:46:02,088 Skipping link: No binaries permitted for gpioemu: https://archive1.piwheels.org/simple/gpioemu/GPIOEmu-0.0.3-cp37-cp37m-linux_armv7l.whl#sha256=faf88fed70e90e23ade46453839109c0c65e480b5b06cd72a3480d08aa73b22a (from https://www.piwheels.org/simple/gpioemu/) 2025-09-08T05:46:02,088 Skipping link: not a file: https://www.piwheels.org/simple/gpioemu/ 2025-09-08T05:46:02,088 Skipping link: not a file: https://pypi.org/simple/gpioemu/ 2025-09-08T05:46:02,113 Given no hashes to check 1 links for project 'gpioemu': discarding no candidates 2025-09-08T05:46:02,115 Collecting gpioemu==0.0.3 2025-09-08T05:46:02,116 Created temporary directory: /tmp/pip-unpack-vqddm96h 2025-09-08T05:46:02,255 Downloading GPIOEmu-0.0.3.tar.gz (69 kB) 2025-09-08T05:46:02,318 Added gpioemu==0.0.3 from https://files.pythonhosted.org/packages/ca/95/7718ade07b3513c001b3d8373d6e5fac4a71ee9502ec7cc3a232bdfb033b/GPIOEmu-0.0.3.tar.gz to build tracker '/tmp/pip-build-tracker-jor0uyq0' 2025-09-08T05:46:02,320 Running setup.py (path:/tmp/pip-wheel-ge1w3rdx/gpioemu_e36a17c17e9948689c889bca1f8f8f6a/setup.py) egg_info for package gpioemu 2025-09-08T05:46:02,320 Created temporary directory: /tmp/pip-pip-egg-info-gox3wll3 2025-09-08T05:46:02,320 Preparing metadata (setup.py): started 2025-09-08T05:46:02,321 Running command python setup.py egg_info 2025-09-08T05:46:03,377 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-08T05:46:03,377 !! 2025-09-08T05:46:03,378 ******************************************************************************** 2025-09-08T05:46:03,378 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-08T05:46:03,378 License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) 2025-09-08T05:46:03,378 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-08T05:46:03,378 ******************************************************************************** 2025-09-08T05:46:03,378 !! 2025-09-08T05:46:03,378 self._finalize_license_expression() 2025-09-08T05:46:03,863 Preparing metadata (setup.py): finished with status 'done' 2025-09-08T05:46:03,867 Source in /tmp/pip-wheel-ge1w3rdx/gpioemu_e36a17c17e9948689c889bca1f8f8f6a has version 0.0.3, which satisfies requirement gpioemu==0.0.3 from https://files.pythonhosted.org/packages/ca/95/7718ade07b3513c001b3d8373d6e5fac4a71ee9502ec7cc3a232bdfb033b/GPIOEmu-0.0.3.tar.gz 2025-09-08T05:46:03,868 Removed gpioemu==0.0.3 from https://files.pythonhosted.org/packages/ca/95/7718ade07b3513c001b3d8373d6e5fac4a71ee9502ec7cc3a232bdfb033b/GPIOEmu-0.0.3.tar.gz from build tracker '/tmp/pip-build-tracker-jor0uyq0' 2025-09-08T05:46:03,871 Created temporary directory: /tmp/pip-unpack-6z3264pb 2025-09-08T05:46:03,871 Created temporary directory: /tmp/pip-unpack-ja3kz0ns 2025-09-08T05:46:03,871 Building wheels for collected packages: gpioemu 2025-09-08T05:46:03,873 Created temporary directory: /tmp/pip-wheel-v4mhvq14 2025-09-08T05:46:03,873 DEPRECATION: Building 'gpioemu' 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 'gpioemu'. Discussion can be found at https://github.com/pypa/pip/issues/6334 2025-09-08T05:46:03,874 Building wheel for gpioemu (setup.py): started 2025-09-08T05:46:03,875 Destination directory: /tmp/pip-wheel-v4mhvq14 2025-09-08T05:46:03,875 Running command python setup.py bdist_wheel 2025-09-08T05:46:04,847 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-08T05:46:04,847 !! 2025-09-08T05:46:04,848 ******************************************************************************** 2025-09-08T05:46:04,848 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-08T05:46:04,848 License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) 2025-09-08T05:46:04,848 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-08T05:46:04,848 ******************************************************************************** 2025-09-08T05:46:04,848 !! 2025-09-08T05:46:04,848 self._finalize_license_expression() 2025-09-08T05:46:06,175 In file included from src/GUI.c:9: 2025-09-08T05:46:06,175 In function ‘build_pwm_texture’, 2025-09-08T05:46:06,175 inlined from ‘draw_states’ at src/GUI.c:347:8, 2025-09-08T05:46:06,175 inlined from ‘GUI_draw’ at src/GUI.c:371:2: 2025-09-08T05:46:06,176 src/GUI.h:3:18: warning: ‘sprintf’ may write a terminating nul past the end of the destination [-Wformat-overflow=] 2025-09-08T05:46:06,176 3 | #define IMG_PATH "/usr/share/GPIOEmu/images/" 2025-09-08T05:46:06,176 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:06,176 src/GUI.c:264:23: note: in expansion of macro ‘IMG_PATH’ 2025-09-08T05:46:06,176 264 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,176 | ^~~~~~~~ 2025-09-08T05:46:06,176 src/GUI.c: In function ‘GUI_draw’: 2025-09-08T05:46:06,177 src/GUI.c:282:42: note: format string is defined here 2025-09-08T05:46:06,177 282 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,177 | ^ 2025-09-08T05:46:06,177 In function ‘build_pwm_texture’, 2025-09-08T05:46:06,177 inlined from ‘draw_states’ at src/GUI.c:347:8, 2025-09-08T05:46:06,177 inlined from ‘GUI_draw’ at src/GUI.c:371:2: 2025-09-08T05:46:06,178 src/GUI.c:264:9: note: ‘sprintf’ output between 36 and 37 bytes into a destination of size 36 2025-09-08T05:46:06,178 264 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,178 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:06,179 src/GUI.h:3:18: warning: ‘sprintf’ may write a terminating nul past the end of the destination [-Wformat-overflow=] 2025-09-08T05:46:06,179 3 | #define IMG_PATH "/usr/share/GPIOEmu/images/" 2025-09-08T05:46:06,179 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:06,179 src/GUI.c:282:23: note: in expansion of macro ‘IMG_PATH’ 2025-09-08T05:46:06,179 282 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,179 | ^~~~~~~~ 2025-09-08T05:46:06,179 src/GUI.c: In function ‘GUI_draw’: 2025-09-08T05:46:06,180 src/GUI.c:282:42: note: format string is defined here 2025-09-08T05:46:06,180 282 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,180 | ^ 2025-09-08T05:46:06,180 In function ‘build_pwm_texture’, 2025-09-08T05:46:06,180 inlined from ‘draw_states’ at src/GUI.c:347:8, 2025-09-08T05:46:06,180 inlined from ‘GUI_draw’ at src/GUI.c:371:2: 2025-09-08T05:46:06,180 src/GUI.c:282:9: note: ‘sprintf’ output between 36 and 37 bytes into a destination of size 36 2025-09-08T05:46:06,181 282 | sprintf(name, IMG_PATH"pwm/%d.bmp", digit); 2025-09-08T05:46:06,181 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:07,480 src/event_gpio.c: In function ‘event_cleanup’: 2025-09-08T05:46:07,480 src/event_gpio.c:161:27: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare] 2025-09-08T05:46:07,480 161 | if ((gpio == -666) || (g->gpio == gpio)) { 2025-09-08T05:46:07,480 | ^~ 2025-09-08T05:46:07,480 src/event_gpio.c: In function ‘add_edge_detect’: 2025-09-08T05:46:07,480 src/event_gpio.c:195:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2025-09-08T05:46:07,480 195 | } else if (i == edge) { // get existing event 2025-09-08T05:46:07,481 | ^~ 2025-09-08T05:46:07,481 src/event_gpio.c: In function ‘blocking_wait_for_edge’: 2025-09-08T05:46:07,481 src/event_gpio.c:232:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2025-09-08T05:46:07,481 232 | if (ed == edge) { // get existing record 2025-09-08T05:46:07,481 | ^~ 2025-09-08T05:46:07,482 src/event_gpio.c:257:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2025-09-08T05:46:07,482 257 | if (event_channel == gpio && (event_edge == edge || edge == BOTH_EDGE)) // event detected 2025-09-08T05:46:07,482 | ^~ 2025-09-08T05:46:07,482 src/event_gpio.c:257:58: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2025-09-08T05:46:07,483 257 | if (event_channel == gpio && (event_edge == edge || edge == BOTH_EDGE)) // event detected 2025-09-08T05:46:07,483 | ^~ 2025-09-08T05:46:08,073 In file included from /usr/include/python3.13/Python.h:72, 2025-09-08T05:46:08,073 from src/py_gpio.c:1: 2025-09-08T05:46:08,073 src/py_gpio.c: In function ‘py_setup_channel’: 2025-09-08T05:46:08,075 /usr/include/python3.13/object.h:1254:41: error: expected ‘(’ before ‘PyType_HasFeature’ 2025-09-08T05:46:08,075 1254 | #define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag)) 2025-09-08T05:46:08,075 | ^~~~~~~~~~~~~~~~~ 2025-09-08T05:46:08,075 /usr/include/python3.13/listobject.h:25:5: note: in expansion of macro ‘PyType_FastSubclass’ 2025-09-08T05:46:08,075 25 | PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_LIST_SUBCLASS) 2025-09-08T05:46:08,075 | ^~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:08,075 src/py_gpio.c:178:19: note: in expansion of macro ‘PyList_Check’ 2025-09-08T05:46:08,075 178 | } else if PyList_Check(chanlist) { 2025-09-08T05:46:08,075 | ^~~~~~~~~~~~ 2025-09-08T05:46:08,076 src/py_gpio.c:178:42: error: expected ‘;’ before ‘{’ token 2025-09-08T05:46:08,076 178 | } else if PyList_Check(chanlist) { 2025-09-08T05:46:08,076 | ^ 2025-09-08T05:46:08,083 src/py_gpio.c: In function ‘chan_from_gpio’: 2025-09-08T05:46:08,084 src/py_gpio.c:494:42: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2025-09-08T05:46:08,084 494 | if (*(*pin_to_gpio+chan) == gpio) 2025-09-08T05:46:08,084 | ^~ 2025-09-08T05:46:08,117 src/py_gpio.c: In function ‘PyInit_GPIOEmu’: 2025-09-08T05:46:08,118 src/py_gpio.c:862:14: error: implicit declaration of function ‘PyEval_ThreadsInitialized’ [-Wimplicit-function-declaration] 2025-09-08T05:46:08,118 862 | if (!PyEval_ThreadsInitialized()) 2025-09-08T05:46:08,118 | ^~~~~~~~~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:08,119 src/py_gpio.c:863:17: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations] 2025-09-08T05:46:08,119 863 | PyEval_InitThreads(); 2025-09-08T05:46:08,119 | ^~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:08,120 In file included from /usr/include/python3.13/Python.h:124: 2025-09-08T05:46:08,120 /usr/include/python3.13/ceval.h:114:37: note: declared here 2025-09-08T05:46:08,120 114 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void); 2025-09-08T05:46:08,120 | ^~~~~~~~~~~~~~~~~~ 2025-09-08T05:46:08,141 error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 2025-09-08T05:46:08,286 ERROR: python setup.py bdist_wheel exited with 1 2025-09-08T05:46:08,298 [bold magenta]full command[/]: [blue]/usr/bin/python3 -u -c ' 2025-09-08T05:46:08,298 exec(compile('"'"''"'"''"'"' 2025-09-08T05:46:08,298 # This is -- a caller that pip uses to run setup.py 2025-09-08T05:46:08,298 # 2025-09-08T05:46:08,298 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-08T05:46:08,298 # import from `distutils.core` to work with newer packaging standards. 2025-09-08T05:46:08,298 # - It provides a clear error message when setuptools is not installed. 2025-09-08T05:46:08,298 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-08T05:46:08,298 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-08T05:46:08,298 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-08T05:46:08,298 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-08T05:46:08,298 import os, sys, tokenize, traceback 2025-09-08T05:46:08,298 2025-09-08T05:46:08,298 try: 2025-09-08T05:46:08,298 import setuptools 2025-09-08T05:46:08,298 except ImportError: 2025-09-08T05:46:08,298 print( 2025-09-08T05:46:08,298 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-08T05:46:08,298 "the build environment with exception:", 2025-09-08T05:46:08,298 file=sys.stderr, 2025-09-08T05:46:08,298 ) 2025-09-08T05:46:08,298 traceback.print_exc() 2025-09-08T05:46:08,298 sys.exit(1) 2025-09-08T05:46:08,298 2025-09-08T05:46:08,298 __file__ = %r 2025-09-08T05:46:08,298 sys.argv[0] = __file__ 2025-09-08T05:46:08,298 2025-09-08T05:46:08,298 if os.path.exists(__file__): 2025-09-08T05:46:08,298 filename = __file__ 2025-09-08T05:46:08,298 with tokenize.open(__file__) as f: 2025-09-08T05:46:08,298 setup_py_code = f.read() 2025-09-08T05:46:08,298 else: 2025-09-08T05:46:08,298 filename = "" 2025-09-08T05:46:08,298 setup_py_code = "from setuptools import setup; setup()" 2025-09-08T05:46:08,298 2025-09-08T05:46:08,298 exec(compile(setup_py_code, filename, "exec")) 2025-09-08T05:46:08,298 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-ge1w3rdx/gpioemu_e36a17c17e9948689c889bca1f8f8f6a/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-v4mhvq14[/] 2025-09-08T05:46:08,298 [bold magenta]cwd[/]: /tmp/pip-wheel-ge1w3rdx/gpioemu_e36a17c17e9948689c889bca1f8f8f6a/ 2025-09-08T05:46:08,298 Building wheel for gpioemu (setup.py): finished with status 'error' 2025-09-08T05:46:08,299 ERROR: Failed building wheel for gpioemu 2025-09-08T05:46:08,300 Running setup.py clean for gpioemu 2025-09-08T05:46:08,300 Running command python setup.py clean 2025-09-08T05:46:09,273 /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 2025-09-08T05:46:09,273 !! 2025-09-08T05:46:09,273 ******************************************************************************** 2025-09-08T05:46:09,273 Please consider removing the following classifiers in favor of a SPDX license expression: 2025-09-08T05:46:09,273 License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) 2025-09-08T05:46:09,274 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 2025-09-08T05:46:09,274 ******************************************************************************** 2025-09-08T05:46:09,274 !! 2025-09-08T05:46:09,274 self._finalize_license_expression() 2025-09-08T05:46:09,487 'build/lib.linux-armv7l-cpython-313' does not exist -- can't clean it 2025-09-08T05:46:09,488 'build/bdist.linux-armv7l' does not exist -- can't clean it 2025-09-08T05:46:09,488 'build/scripts-3.13' does not exist -- can't clean it 2025-09-08T05:46:09,599 Failed to build gpioemu 2025-09-08T05:46:09,600 ERROR: Failed to build one or more wheels 2025-09-08T05:46:09,601 Exception information: 2025-09-08T05:46:09,601 Traceback (most recent call last): 2025-09-08T05:46:09,601 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-08T05:46:09,601 status = _inner_run() 2025-09-08T05:46:09,601 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-08T05:46:09,601 return self.run(options, args) 2025-09-08T05:46:09,601 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-08T05:46:09,601 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-08T05:46:09,601 return func(self, options, args) 2025-09-08T05:46:09,601 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 180, in run 2025-09-08T05:46:09,601 raise CommandError("Failed to build one or more wheels") 2025-09-08T05:46:09,601 pip._internal.exceptions.CommandError: Failed to build one or more wheels 2025-09-08T05:46:09,605 Removed build tracker: '/tmp/pip-build-tracker-jor0uyq0'