как обновить 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 глобально (чревато крахом системы), её надо установить локально и запускать через специальную команду.

Перед этим нужно:

  1. Скачать исходники glibc 2.29 с официального сайта.

  2. Создать отдельную папку для сборки, чтобы не затронуть системные файлы.

  3. Собрать и установить glibc 2.29 в эту папку.

  4. Добавить новую glibc в окружение, указав путь к библиотекам.

  5. Запустить 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
  1. Если появляется ошибка 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
  1. Проверить работу, убедиться, что glibc обновилась и Python запустился без ошибок.
→ Ссылка