как обновить glib
ubuntu18.04
ldd --verion 2.27
пробовал обновить по инструкции https://stackoverflow.com/questions/72513993/how-to-install-glibc-2-29-or-higher-in-ubuntu-18-04
что то не завелось
File "/opt/Python-3.9.16/Lib/ctypes/__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found
дальше пробовал пользовать так
LD_LIBRARY_PATH=/opt/glibc-2.29/lib /opt/glibc-2.29/lib/ld-linux-x86-64.so.2 /opt/Python-3.9.16/python /home/user/old/script.py
получаю ошибки
import ctypes
File "/opt/Python-3.9.16/Lib/ctypes/__init__.py", line 8, in <module>
from _ctypes import Union, Structure, Array
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
можешь подсказать как обновить glib до 2.29
up
Уже установлен пакет libffi6 самой новой версии (3.2.1-8)
Ответы (1 шт):
Вместо того чтобы обновлять glibc глобально (чревато крахом системы), её надо установить локально и запускать через специальную команду.
Перед этим нужно:
Скачать исходники glibc 2.29 с официального сайта.
Создать отдельную папку для сборки, чтобы не затронуть системные файлы.
Собрать и установить glibc 2.29 в эту папку.
Добавить новую glibc в окружение, указав путь к библиотекам.
Запустить Python с новой glibc, используя ld-2.29.so.
LD_LIBRARY_PATH=$HOME/glibc-2.29-install/lib $HOME/glibc-2.29-install/lib/ld-2.29.so /opt/Python-3.9.16/python script.py
- Если появляется ошибка libffi.so.6, установить libffi-dev и создать символическую ссылку на нужную версию библиотеки.
sudo apt install libffi-dev
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 ~/glibc-2.29-install/lib/libffi.so.6
- Проверить работу, убедиться, что glibc обновилась и Python запустился без ошибок.