@myppomeu

Файл erlexec: not found: как исправить (отсутствие необходимой библиотеки)?

Роутер на asuswrt-merlin 380.58 с подключенным usb-диском. Архитектура - armv7l. Поставил bash в /opt/bin/ через Entware.
Установил на hdd ejabberd 16.04 с помощью скомпилированного разработчиками .run-файла; он зависит от glibc 2.13 или новее, который в системе отсутствует.
В /opt/ejabberd-16.04/bin поправил shebang'и у скриптов на необычное расположение bash'а.
Ejabberd не запускается:
cd /opt/ejabberd-16.04/bin && ./ejabberdctl  start
/opt/ejabberd-16.04/bin/erl: exec: line 35: /opt/ejabberd-16.04/bin/erlexec: not found

/opt/ejabberd-16.04/bin/erlexec на месте, существует.
readelf -l на erlexec'е показал что Requesting program interpreter: /lib/ld-linux-armhf.so.3
Оный был взят из пакета libc6_2.19-18+deb8u4_armhf из дебиана и положен в папку. Папка содержится в LD_LIBRARY_PATH, который прописан в /opt/ejabberd-16.04/bin/erl. На всякий случай две копии файла (не симлинком): ld-2.19.so и ld-linux-armhf.so.3, бит исполняемости стоит.

Ejabberd после манипуляций не запускается с той же ошибкой. В чем дело? Как поправить? Удастся ли без того чтобы положить библиотеку в /lib/ld-linux-armhf.so.3 (это затруднительно)?
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы