Kamailio启动错误加载json.so

puruo6ea  于 2023-11-20  发布在  其他
关注(0)|答案(2)|浏览(184)

我在启动Kamailio 4.3版本时遇到问题。我从源代码安装了Kamailio,模块存储在默认目录/usr/local/lib64/kamailio/modules中。我正在使用Kamailio提供的json模块,但它无法加载。
Kamailio关于json模块的文档可以在这里找到:http://www.kamailio.org/docs/modules/3.4.x/modules/json.html
文档指出,在加载模块之前,您需要安装所需的库libjson。当我启动kamailio并通过kamailio start; cat /var/log/kamailio.log | grep error cat日志文件时,我得到以下错误:

Jan  8 12:43:53 localhost kamailio: ERROR: <core> [sr_module.c:576]: load_module(): could not open module </usr/local/lib64/kamailio/modules/json.so>:    /usr/local/lib64/kamailio/modules/json.so: undefined symbol: is_error
Jan  8 12:43:53 localhost kamailio: : <core> [cfg.y:3432]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 109, column 12-20: failed to load module

字符串
第109章显然是对的:

loadmodule "json.so"


更多信息:

ldd json.so
linux-vdso.so.1 =>  (0x00007ffc33e97000)
libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007f24d8110000)
libc.so.6 => /lib64/libc.so.6 (0x00007f24d7d7c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f24d8527000)


有没有其他人遇到过类似的问题,或者有人知道解决方案吗?还值得一提的是,我在 CentOS 6.7 上运行kamailio。

gxwragnw

gxwragnw1#

is_error(p)应该是一个宏,查看你的json. h文件(可能在/usr/include/json-c/json. h),看看它是否包含来自同一个文件夹的“bits.h”。在bits.h中应该定义宏is_error()。
如果你没有,也许这是一个定制的图书馆。
顺便说一下,kamailio.cfg中json操作的另一种选择是使用jansson模块。

amrnrhlw

amrnrhlw2#

您可能需要在构建模块后执行ldconfig以同步共享库。

相关问题