我在启动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。
2条答案
按热度按时间gxwragnw1#
is_error(p)应该是一个宏,查看你的json. h文件(可能在/usr/include/json-c/json. h),看看它是否包含来自同一个文件夹的“bits.h”。在bits.h中应该定义宏is_error()。
如果你没有,也许这是一个定制的图书馆。
顺便说一下,kamailio.cfg中json操作的另一种选择是使用jansson模块。
amrnrhlw2#
您可能需要在构建模块后执行
ldconfig
以同步共享库。