You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Asterisk启动报错,缺失Libjansson库文件libjansson.so.4

解决Asterisk启动时找不到libjansson.so.4的问题

这个问题我之前帮不少同行排查过,核心就是系统没法定位到指定版本的jansson共享库,下面几个步骤按顺序试,基本都能搞定:

  • 先确认库是否安装及版本匹配
    先检查系统里有没有装对应版本的jansson库:

    • Debian/Ubuntu系用命令:dpkg -l | grep jansson
    • RHEL/CentOS系用命令:rpm -qa | grep jansson
      如果输出里没有libjansson4(Debian系)或者对应.so.4版本的包,直接安装:
    • Debian/Ubuntu:sudo apt-get install libjansson4
    • RHEL/CentOS:sudo yum install libjansson(注意确认安装的版本是否对应.so.4,有些发行版可能包名不同)
  • 如果已安装但系统找不到,添加库路径到系统配置
    先找到libjansson.so.4的实际位置:
    find / -name libjansson.so.4 2>/dev/null
    假设找到的路径是/usr/local/lib:

    • 临时生效(重启后失效):export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,之后再启动Asterisk试试
    • 永久生效:创建配置文件sudo nano /etc/ld.so.conf.d/jansson.conf,写入路径/usr/local/lib,保存后运行sudo ldconfig刷新系统库缓存
  • 用软链接兼容高版本库(临时方案)
    如果系统里只有更高版本的jansson库(比如libjansson.so.5),可以临时创建软链接来兼容:
    先找到高版本库的位置:find / -name libjansson.so.* 2>/dev/null
    然后创建软链接(替换成你找到的实际路径):
    sudo ln -s /usr/lib/x86_64-linux-gnu/libjansson.so.5 /usr/lib/x86_64-linux-gnu/libjansson.so.4
    最后运行sudo ldconfig生效。不过这个是权宜之计,优先安装对应版本的库更稳定。

  • 自行编译Asterisk的情况
    要是你是源码编译的Asterisk,可能编译时没正确指定jansson库路径,或者编译后没把库路径加入系统配置。可以重新编译Asterisk,确保编译过程中能检测到libjansson.so.4,或者把编译生成的jansson库路径添加到系统LD配置里。

内容的提问来源于stack exchange,提问作者user364023

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:17:59