Infrared remote controls seem like a good candidate for automations, they are cheap, the batteries last a long time and you can use any remote you want with lirc. I like remotes with low button density they are simple to understand and very comfortable to use.
In the last versions of hass it has been difficult to get lirc to work, having to manually install python-lirc 1.2.3 and fixing the bugs that happened. That could explain the low usage of such a useful system.
With the upgrade to python 3.9 python-lirc 1.2.3 seems impossible for me to get working. The installation fails with errors:
ERROR: Command errored out with exit status 1: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-4qa7jdf7/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc Check the logs for full command output.
2021-11-08 12:26:14 ERROR (MainThread) [homeassistant.setup] Setup failed for lirc: Requirements for lirc not found: ['python-lirc==1.2.3'].
Unfortunately I am not good at programming and I cannot fix it.
In addition to the old "python-lirc 1.2.3" package there is a newer one "lirc 2.0.0" and I wonder if it would be possible to use it to get remote controls working with hass again.
What version of Home Assistant Core has the issue?
2021.11
What was the last working version of Home Assistant Core?
2021-11-08 12:26:11 ERROR (SyncWorker_5) [homeassistant.util.package] Unable to install package python-lirc==1.2.3: ERROR: Command errored out with exit status 1:
command: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xk2apjzg/python-lirc_9f013f936e7743aa9b4db6177d00e834/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xk2apjzg/python-lirc_9f013f936e7743aa9b4db6177d00e834/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-d_0fuoda/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc
cwd: /tmp/pip-install-xk2apjzg/python-lirc_9f013f936e7743aa9b4db6177d00e834/
Complete output (210 lines):
running install
running build
running build_ext
building 'lirc' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/lirc
x86_64-pc-linux-gnu-gcc -pthread -fPIC -I/usr/include/lirc/ -I/home/users/hass/homeassistant/include -I/usr/include/python3.9 -c lirc/lirc.c -o build/temp.linux-x86_64-3.9/lirc/lirc.o
lirc/lirc.c: In function ‘PyInit_lirc’:
lirc/lirc.c:4249:30: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
4249 | __pyx_type_4lirc_LircConfig.tp_print = 0;
| ^
lirc/lirc.c: In function ‘__Pyx_ParseOptionalKeywords’:
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c: In function ‘__Pyx__ExceptionSave’:
lirc/lirc.c:5050:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5050 | *type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5051:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5051 | *value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5052:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5052 | *tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionReset’:
lirc/lirc.c:5059:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5059 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5060:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5060 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5061:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5061 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5062:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5062 | tstate->exc_type = type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5063:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5063 | tstate->exc_value = value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5064:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5064 | tstate->exc_traceback = tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__GetException’:
lirc/lirc.c:5119:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5119 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5120:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5120 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5121:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5121 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5122:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5122 | tstate->exc_type = local_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5123:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5123 | tstate->exc_value = local_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5124:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5124 | tstate->exc_traceback = local_tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionSwap’:
lirc/lirc.c:5146:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5146 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5147:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5147 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5148:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5148 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5149:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5149 | tstate->exc_type = *type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5150:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5150 | tstate->exc_value = *value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5151:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5151 | tstate->exc_traceback = *tb;
| ^~~~~~~~~~~~~
| curexc_traceback
error: command '/usr/bin/x86_64-pc-linux-gnu-gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xk2apjzg/python-lirc_9f013f936e7743aa9b4db6177d00e834/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xk2apjzg/python-lirc_9f013f936e7743aa9b4db6177d00e834/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-d_0fuoda/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc Check the logs for full command output.
2021-11-08 12:26:11 INFO (SyncWorker_3) [homeassistant.util.package] Attempting install of python-lirc==1.2.3
2021-11-08 12:26:13 ERROR (SyncWorker_3) [homeassistant.util.package] Unable to install package python-lirc==1.2.3: ERROR: Command errored out with exit status 1:
command: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0ebn_exm/python-lirc_c0b33a1c99894fb0a7f5c977cead41c2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0ebn_exm/python-lirc_c0b33a1c99894fb0a7f5c977cead41c2/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-eh85mes9/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc
cwd: /tmp/pip-install-0ebn_exm/python-lirc_c0b33a1c99894fb0a7f5c977cead41c2/
Complete output (210 lines):
running install
running build
running build_ext
building 'lirc' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/lirc
x86_64-pc-linux-gnu-gcc -pthread -fPIC -I/usr/include/lirc/ -I/home/users/hass/homeassistant/include -I/usr/include/python3.9 -c lirc/lirc.c -o build/temp.linux-x86_64-3.9/lirc/lirc.o
lirc/lirc.c: In function ‘PyInit_lirc’:
lirc/lirc.c:4249:30: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
4249 | __pyx_type_4lirc_LircConfig.tp_print = 0;
| ^
lirc/lirc.c: In function ‘__Pyx_ParseOptionalKeywords’:
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c: In function ‘__Pyx__ExceptionSave’:
lirc/lirc.c:5050:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5050 | *type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5051:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5051 | *value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5052:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5052 | *tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionReset’:
lirc/lirc.c:5059:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5059 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5060:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5060 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5061:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5061 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5062:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5062 | tstate->exc_type = type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5063:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5063 | tstate->exc_value = value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5064:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5064 | tstate->exc_traceback = tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__GetException’:
lirc/lirc.c:5119:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5119 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5120:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5120 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5121:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5121 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5122:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5122 | tstate->exc_type = local_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5123:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5123 | tstate->exc_value = local_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5124:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5124 | tstate->exc_traceback = local_tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionSwap’:
lirc/lirc.c:5146:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5146 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5147:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5147 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5148:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5148 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5149:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5149 | tstate->exc_type = *type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5150:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5150 | tstate->exc_value = *value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5151:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5151 | tstate->exc_traceback = *tb;
| ^~~~~~~~~~~~~
| curexc_traceback
error: command '/usr/bin/x86_64-pc-linux-gnu-gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0ebn_exm/python-lirc_c0b33a1c99894fb0a7f5c977cead41c2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0ebn_exm/python-lirc_c0b33a1c99894fb0a7f5c977cead41c2/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-eh85mes9/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc Check the logs for full command output.
2021-11-08 12:26:13 INFO (SyncWorker_1) [homeassistant.util.package] Attempting install of python-lirc==1.2.3
2021-11-08 12:26:14 ERROR (SyncWorker_1) [homeassistant.util.package] Unable to install package python-lirc==1.2.3: ERROR: Command errored out with exit status 1:
command: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-4qa7jdf7/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc
cwd: /tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/
Complete output (210 lines):
running install
running build
running build_ext
building 'lirc' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/lirc
x86_64-pc-linux-gnu-gcc -pthread -fPIC -I/usr/include/lirc/ -I/home/users/hass/homeassistant/include -I/usr/include/python3.9 -c lirc/lirc.c -o build/temp.linux-x86_64-3.9/lirc/lirc.o
lirc/lirc.c: In function ‘PyInit_lirc’:
lirc/lirc.c:4249:30: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
4249 | __pyx_type_4lirc_LircConfig.tp_print = 0;
| ^
lirc/lirc.c: In function ‘__Pyx_ParseOptionalKeywords’:
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4672:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4672 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
lirc/lirc.c:4688:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
4688 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^
In file included from /usr/include/python3.9/unicodeobject.h:1026,
from /usr/include/python3.9/Python.h:93,
from lirc/lirc.c:4:
/usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lirc/lirc.c: In function ‘__Pyx__ExceptionSave’:
lirc/lirc.c:5050:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5050 | *type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5051:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5051 | *value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5052:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5052 | *tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionReset’:
lirc/lirc.c:5059:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5059 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5060:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5060 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5061:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5061 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5062:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5062 | tstate->exc_type = type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5063:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5063 | tstate->exc_value = value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5064:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5064 | tstate->exc_traceback = tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__GetException’:
lirc/lirc.c:5119:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5119 | tmp_type = tstate->exc_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5120:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5120 | tmp_value = tstate->exc_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5121:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5121 | tmp_tb = tstate->exc_traceback;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c:5122:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
5122 | tstate->exc_type = local_type;
| ^~~~~~~~
| curexc_type
lirc/lirc.c:5123:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
5123 | tstate->exc_value = local_value;
| ^~~~~~~~~
| curexc_value
lirc/lirc.c:5124:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
5124 | tstate->exc_traceback = local_tb;
| ^~~~~~~~~~~~~
| curexc_traceback
lirc/lirc.c: In function ‘__Pyx__ExceptionSwap’:
lirc/lirc.c:5146:24: error: ‘Py
error: command '/usr/bin/x86_64-pc-linux-gnu-gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/users/hass/homeassistant/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hz098763/python-lirc_01142982a3324d3e91c6172da192eaa1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-4qa7jdf7/install-record.txt --single-version-externally-managed --compile --install-headers /home/users/hass/homeassistant/include/site/python3.9/python-lirc Check the logs for full command output.
2021-11-08 12:26:14 ERROR (MainThread) [homeassistant.setup] Setup failed for lirc: Requirements for lirc not found: ['python-lirc==1.2.3'].
The problem
Infrared remote controls seem like a good candidate for automations, they are cheap, the batteries last a long time and you can use any remote you want with lirc. I like remotes with low button density they are simple to understand and very comfortable to use.
In the last versions of hass it has been difficult to get lirc to work, having to manually install python-lirc 1.2.3 and fixing the bugs that happened. That could explain the low usage of such a useful system.
With the upgrade to python 3.9 python-lirc 1.2.3 seems impossible for me to get working. The installation fails with errors:
Unfortunately I am not good at programming and I cannot fix it.
In addition to the old "python-lirc 1.2.3" package there is a newer one "lirc 2.0.0" and I wonder if it would be possible to use it to get remote controls working with hass again.
What version of Home Assistant Core has the issue?
2021.11
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant Core
Integration causing the issue
lirc
Link to integration documentation on our website
https://www.home-assistant.io/integrations/lirc
Example YAML snippet
No response
Anything in the logs that might be useful for us?
Additional information
No response