Я пытаюсь настроить postfix на моем маршрутизаторе WS880 под ASUSWRT-Merlin. Когда я запускаю его из командной строки, получаю ошибку

/opt/sbin/postlog: не удается загрузить библиотеку 'libresolv.so.0'

На самом деле libresolv.so.0 лежит в /opt/lib и LD_LIBRARY_PATH='/lib:/opt/lib' Так что сам postfix нашел эту библиотеку. Более того, когда я запускаю /opt/sbin/postlog из командной строки, он запускается без проблем. Но не удалось позвонить из postfix .

Вот информативная часть strace postfix:

fork() = 11112
wait4(-1, /opt /sbin /postlog: не удается загрузить библиотеку 'libresolv.so.0'
[{WIFEXITED(s) && WEXITSTATUS(s) == 16}], 0, NULL) = 11112
--- SIGCHLD (дочерний выход) @ 0 (0) --- wait4(-1, 0xbefa3334, WNOHANG, NULL) = -1 ECHILD (нет дочерних процессов)
выход (1)

Может кто-нибудь предложить решение?

PS ldd /opt/sbin/postlog показывает все найденные библиотеки, поэтому я подозреваю, что проблема связана с тем, как postfix запускает postlog ...

1 ответ1

0

Вы можете попробовать:

export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH
postfix

или же

env LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH postfix

или поместите ваш путь /opt /lib в ваш файл /etc/ld.so.conf

Один из этих вариантов должен работать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .