Подробный гайд: Решение ошибки cannot open shared object file и Error 74 в ALT Linux

Подробный гайд по исправлению ошибки cannot open shared object file и кода 74 в ALT Linux. Поиск, установка недостающих библиотек и ldconfig.

2026.06.30                  


Подробный гайд: Решение ошибки cannot open shared object file и Error 74 в ALT LinuxПодробный гайд: Решение ошибки cannot open shared object file и Error 74 в ALT Linux Ошибка cannot open shared object file (обычно выглядит как error while loading shared libraries: <имя_библиотеки>: cannot open shared object file: No such file or directory) означает, что системный загрузчик библиотек не может найти необходимый .so файл для запуска программы.

Важное уточнение про «Error 74»:

В стандартной подсистеме Linux (ld.so) нет кода ошибки 74 для проблем с библиотеками. Скорее всего, «74» — это код возврата (exit code) самой запускаемой программы, специфичная ошибка конкретного приложения (например, Wine, Steam, 1С, игрового движка) или ошибка пакетного менеджера. Мы устраним корневую причину (нехватку библиотеки), а ниже разберем, что делать с «74».

Ниже представлен подробный гайд по решению этой проблемы именно в ALT Linux (Сизиф, p10, p11).


Шаг 1. Определяем, какой именно библиотеки не хватает

Внимательно посмотрите на полный текст ошибки. Вам нужно найти имя файла, который не найден.

Пример ошибки:

error while loading shared libraries: libssl.so.1.1: cannot open shared object file... Нужное имя: libssl.so.1.1


Если вы не видите полный текст, проверьте зависимости исполняемого файла:

ldd /путь/к/вашей/программе | grep "not found"

Эта команда покажет список всех библиотек, которые программа не может найти (справа будет написано => not found).


Шаг 2. Ищем пакет с библиотекой в ALT Linux

В ALT Linux есть несколько способов узнать, в каком пакете содержится нужная библиотека.

Способ А: Через apt-file (рекомендуется)

Если у вас установлен apt-file, выполните:

apt-file search libssl.so.1.1

(Замените libssl.so.1.1 на имя вашей библиотеки). Команда выдаст список пакетов, в которых есть этот файл.


Способ Б: Через epm (фирменный инструмент ALT Linux)

Если apt-file не установлен, можно использовать epm:

epm search libssl

или поискать на официальном сайте репозиториев: https://packages.altlinux.org


Шаг 3. Устанавливаем недостающий пакет

Как только вы узнали имя пакета (например, libssl1.1), установите его. В ALT Linux можно использовать apt-get или epm:

su -
apt-get update
apt-get install libssl1.1

Или через epm:

su -
epm install libssl1.1

Шаг 4. Обновляем кэш библиотек

После установки новых библиотек обязательно обновите кэш динамического компоновщика:

sudo ldconfig

Проверьте, исчезла ли ошибка:

ldd /путь/к/вашей/программе | grep "not found"

Если команда ничего не вывела — все библиотеки на месте.


Шаг 5. Частая проблема: Конфликт архитектур (32-bit против 64-bit)

Очень часто эта ошибка возникает, если вы пытаетесь запустить 32-битную программу в 64-битной системе (или наоборот).

Проверьте архитектуру программы:

file /путь/к/вашей/программе
  • Если написано ELF 64-bit, вам нужны 64-битные библиотеки (пакеты без приписок или с x86_64).
  • Если написано ELF 32-bit, вам нужны 32-битные библиотеки. В ALT Linux они обычно имеют архитектуру i586 или лежат в пакетах с припиской lib32.

Как установить 32-битные библиотеки в 64-битный ALT Linux:

Вам нужно подключить репозиторий i586 (если он еще не подключен) и установить пакеты.

su -
apt-repo add i586  # Добавляем 32-битный репозиторий (актуально для Сизифа/p10)
apt-get update
apt-get install libssl1.1:i586  # Пример установки 32-битной версии

(Примечание: в ALT Linux мультиархитектурность работает специфично, иногда проще использовать epm play steam или epm play wine, которые сами подтягивают нужные 32-битные зависимости).


Шаг 6. Если библиотека установлена, но программа её не видит

Иногда библиотека лежит в нестандартной директории (например, /opt/myapp/lib). Системный загрузчик её там не ищет.

Решение 1: Через переменную окружения (временное)

export LD_LIBRARY_PATH=/opt/myapp/lib:$LD_LIBRARY_PATH
./ваша_программа

Решение 2: Через конфигурацию ldconfig (постоянное)

1. Создайте файл конфигурации:

   echo "/opt/myapp/lib" | sudo tee /etc/ld.so.conf.d/myapp.conf

2. Обновите кэш:

   sudo ldconfig

Шаг 7. Разбираемся с «Error 74»

Так как стандартный ld.so не выдает ошибку 74, вот основные сценарии, где она может встречаться:

1. Если это Wine / Proton / Steam:

Код 74 может означать, что Wine не смог инициализировать префикс или не хватает специфичных 32-битных библиотек (например, lib32-libX11, lib32-libGL). Попробуйте переустановить Wine через epm play wine или epm play steam.

2. Если это 1С или специфичный корпоративный софт:

Ошибка 74 может быть внутренней ошибкой самого приложения, указывающей на то, что модуль загружен, но не может инициализироваться (например, из-за нехватки прав, проблем с лицензионным ключом или блокировки со стороны мандатного контроля доступа / AppArmor / SELinux в ALT Linux). Проверьте /var/log/syslog или /var/log/messages на предмет блокировок.

3. Если это ошибка пакетного менеджера (apt/epm):

Если ошибка 74 возникает при попытке установить библиотеку, это может означать проблему с GPG-ключами репозитория или сетью. Выполните apt-get update и проверьте, нет ли там ошибок.


Важно:

  1. Узнайте точное имя .so файла из текста ошибки.
  2. Найдите пакет через apt-file search <имя_файла>.
  3. Установите пакет через apt-get install <имя_пакета>.
  4. Выполните sudo ldconfig.
  5. Убедитесь, что не путаете 32-битные (i586) и 64-битные (x86_64) библиотеки.

Если проблема сохранится:

Пожалуйста, напишите мне полный текст ошибки из терминала (включая команду, которую вы запускаете, и строку с "error 74"), и я подскажу точное решение для вашего конкретного случая! Вы так же можете написать от этом в нашу техническую поддержку, чтобы сохранить приватность ваших данных.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта