我尝试在 ASUSWRT-Merlin 下设置postfix
我的 WS880 路由器。当我从命令行运行它时,出现错误
/opt/sbin/postlog:无法加载库“libresolv.so.0”
事实上libresolv.so.0
位于/opt/lib
,并且LD_LIBRARY_PATH='/lib:/opt/lib'
Sopostfix
本身就找到了这个库。甚至当我/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 (没有子进程)
exit(1)
有人可以提出一个解决方案吗?
PS显示找到的所有库,因此我怀疑问题与运行ldd /opt/sbin/postlog
方式有关......postfix
postlog
答案1
您可以尝试:
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 文件中
其中一个选项应该有效