python-sdks
python-sdks copied to clipboard
livekit version 1.0.16 does not work on Raspberry Pi OS due to missing glibc 2.38
Hello, I cannot import the latest livekit 1.0.16 due to glibc version in Raspberry Pi OS. The symbol __isoc23_strtoll is only included in glibc >=2.38 whereas Raspberry Pi OS only includes 2.36 (see confimation below).
If I install livekit 1.0.13 and agents 1.2.15, then I can import livekit
pip install livekit==1.0.13 livekit-agents==1.2.15
pi@pupper:~ $ python3 -c "import livekit.rtc; print('livekit-rtc imported OK')"
livekit-rtc imported OK
However if I install livekit 1.0.16 and agents 1.2.15
pip install livekit==1.0.16 livekit-agents==1.2.15
Then I cannot import livekit
pi@pupper:~ $ python3 -c "import livekit.rtc; print('livekit-rtc imported OK')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/pi/.local/lib/python3.11/site-packages/livekit/rtc/__init__.py", line 41, in <module>
from .audio_frame import AudioFrame
File "/home/pi/.local/lib/python3.11/site-packages/livekit/rtc/audio_frame.py", line 16, in <module>
from ._ffi_client import FfiHandle
File "/home/pi/.local/lib/python3.11/site-packages/livekit/rtc/_ffi_client.py", line 61, in <module>
ffi_lib = get_ffi_lib()
^^^^^^^^^^^^^
File "/home/pi/.local/lib/python3.11/site-packages/livekit/rtc/_ffi_client.py", line 58, in get_ffi_lib
return ctypes.CDLL(str(path))
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ctypes/__init__.py", line 376, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /home/pi/.local/lib/python3.11/site-packages/livekit/rtc/resources/liblivekit_ffi.so: undefined symbol: __isoc23_strtoll
Here's some more information about my glibc version:
pi@pupper:~/pupperv3-monorepo $ ldd --version
ldd (Debian GLIBC 2.36-9+rpt2+deb12u13) 2.36
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
pi@pupper:~/pupperv3-monorepo $ getconf GNU_LIBC_VERSION
glibc 2.36
pi@pupper:~/pupperv3-monorepo $ python3 -c "import livekit.rtc, sys; import pathlib as p; print(p.Path(livekit.rtc.__file__).resolve())"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python3.11/dist-packages/livekit/rtc/__init__.py", line 41, in <module>
from .audio_frame import AudioFrame
File "/usr/local/lib/python3.11/dist-packages/livekit/rtc/audio_frame.py", line 16, in <module>
from ._ffi_client import FfiHandle
File "/usr/local/lib/python3.11/dist-packages/livekit/rtc/_ffi_client.py", line 61, in <module>
ffi_lib = get_ffi_lib()
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/livekit/rtc/_ffi_client.py", line 58, in get_ffi_lib
return ctypes.CDLL(str(path))
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/ctypes/__init__.py", line 376, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /usr/local/lib/python3.11/dist-packages/livekit/rtc/resources/liblivekit_ffi.so: undefined symbol: __isoc23_strtoll
hey @Nate711, please try to bump livekit==1.0.13 to livekit==1.0.17, I think we've fixed this issue.
Thanks! Haven't tested it yet but I guess it'll probably work