Вопрос или проблема
Я пытаюсь запустить ожидаемый исполняемый файл и получаю следующие ошибки:
Immersed: /lib/x86_64-linux-gnu/libm.so.6: версия `GLIBC_2.29′ не найдена (требуется Immersed)
Immersed: /lib/x86_64-linux-gnu/libpthread.so.0: версия `GLIBC_2.30′ не найдена (требуется Immersed)
Существует ли способ обновить GLIBC или мне нужно обновить Ubuntu, чтобы сделать это? Я использую Ubuntu 18.04.6 LTS
Похоже, что обновить glibc возможно, когда существует проблема безопасности (см. Обновление glibc).
Тем не менее, похоже, что для Immersed лучшим вариантом будет обновить версию вашей ОС (см. https://discord.com/channels/428916969283125268/681876093107699736/996050843314954280)
Ответ или решение
Ошибка: libpthread.so.0: версия GLIBC_2.30
не найдена — Решение проблемы обновления GLIBC на Ubuntu 18.04.6 LTS
Введение
Вы столкнулись с рядом ошибок при попытке запустить приложение "Immersed" на Ubuntu 18.04.6 LTS. Ошибки указывают на то, что требуемые версии библиотек GLIBC (libm.so.6
и libpthread.so.0
) недоступны. В частности, программа требует версии GLIBC не ниже 2.30, в то время как в вашей текущей системе установлена более старая версия.
Причины проблемы
Ubuntu 18.04.6 LTS использует GLIBC (GNU C Library, стандартная библиотека C) версии 2.27. Приложение "Immersed" требует как минимум версии 2.30, что и приводит к возникшим ошибкам:
- libm.so.6: версия
GLIBC_2.29
не найдена - libpthread.so.0: версия
GLIBC_2.30
не найдена
Следовательно, проблема заключается в том, что доступные в вашей системе библиотеки не соответствуют требованиям запускаемой программы.
Возможные решения
-
Обновление операционной системы:
Наиболее прямолинейный и рекомендуемый способ решения данной проблемы — это обновление вашей версии Ubuntu до более новой, такой как Ubuntu 20.04 или 22.04. Эти версии содержат более актуальные версии GLIBC, которые удовлетворят требования вашего приложения.Шаги для обновления Ubuntu:
- Сначала сделайте резервное копирование важных данных.
- Убедитесь, что ваше программное обеспечение обновлено:
sudo apt update && sudo apt upgrade
- Запустите процесс обновления:
sudo do-release-upgrade
-
Обновление GLIBC вручную:
Обновление GLIBC вручную возможно, но не рекомендуется, так как это может нарушить работу других зависимых пакетов и системных компонентов. Если вы всё же решили на этот шаг, убедитесь, что у вас есть опыт в управлении библиотеками Linux и сделайте резервное копирование системы.Примерный процесс включает в себя загрузку и сборку GLIBC из исходников:
- Загрузите источник GLIBC:
wget http://ftp.gnu.org/gnu/libc/glibc-2.30.tar.gz tar -xvzf glibc-2.30.tar.gz cd glibc-2.30 mkdir build cd build ../configure --prefix=/opt/glibc-2.30 make sudo make install
- Добавьте путь установки в переменную окружения:
export LD_LIBRARY_PATH=/opt/glibc-2.30/lib:$LD_LIBRARY_PATH
Однако, повторюсь, это может привести к непредсказуемому поведению системы.
- Загрузите источник GLIBC:
-
Использование контейнеризации:
Если обновление системы нецелесообразно, вы можете рассмотреть возможность использования контейнеров Docker или других технологий виртуализации, чтобы запустить необходимое приложение в среде с актуальной версией системы и GLIBC.Пример создания Docker-контейнера:
FROM ubuntu:20.04 RUN apt update && apt install -y [обязательные пакеты] COPY Immersed /usr/local/bin/Immersed CMD ["Immersed"]
Заключение
Для успешного запуска приложения "Immersed" на Ubuntu 18.04.6 LTS вы можете выбрать один из указанных вариантов решения проблемы. Наиболее безопасным и рекомендованным является обновление операционной системы до более новой версии. Если вы не уверены в своих действиях, всегда следует обращаться к системному администратору или специалисту по IT.