app_lua: packaging many times with different lua library versions

参考这个issue:

https://github.com/kamailio/kamailio/issues/4578

目前的 app_lua 是基于 lua5.1 编译的,不好!

在 Debian/Ubuntu 系统上,官方软件源同时提供多个 Lua 版本及其开发库(liblua5.1、liblua5.2、liblua5.3、liblua5.4 等),

而 Kamailio 的 app_lua 模块目前只针对其中一个版本(主要是 liblua5.1)编译打包。

如果打包者把 app_lua 改链接到较新的 Lua 版本(如 5.3 或 5.4),就会破坏依赖旧版本 Lua 的用户的兼容性。

因此提出一个方案: 让 app_lua 模块可以多次编译,针对每个 Lua 版本生成一个独立的 .so 文件,例如:

app_lua.so → 链接最新的稳定版(推荐默认使用)

app_lua52.so → 链接 Lua 5.2

app_lua53.so → 链接 Lua 5.3

app_lua54.so → 链接 Lua 5.4

......

用户/打包者根据实际环境加载对应的模块版本,避免单一版本打包导致的大范围兼容性问题。

技术实现思路(讨论中提到的)

通过 CMake 编译时传入参数控制模块的内部名称,例如:

-DMOD_NAME='"app_lua54"'

这样生成的共享库文件名和注册的模块名都会带上版本标记。

打包时可以把多个变体放到同一个 kamailio-app-lua 或 kamailio-lua 包里,或者拆分成独立的子包(视打包策略而定)。

对比了 tls/tlsa 的处理方式(把 tls 代码嵌入 tlsa),但认为 不适合 直接套用到 app_lua 上,因为 Lua 版本兼容性问题更普遍且长期存在。

相关推荐
xixixi777771 天前
智算中心建设新范式:GPT-6/Rubin架构+1.6T光模块+量子安全网关+AI安全沙箱,算力·效率·安全·成本的最优平衡
人工智能·gpt·安全·机器学习·架构·大模型·通信
xixixi777772 天前
AI自主挖洞 + 通信网络扩散:全域风险指数级放大,如何构建密码-沙箱-终端联动闭环?
开发语言·网络·人工智能·ai·大模型·php·通信
xixixi777773 天前
从5G标准到6G前沿:Polar码的技术演进与未来之路
开发语言·人工智能·5g·大模型·php·通信·polar码
xixixi777774 天前
Token 经济引爆 AI 产业加速:从百模大战到百虾大战,谁在定义 2026 的中国 AI?
大数据·人工智能·机器学习·ai·大模型·算力·通信
无名3879 天前
测试 kamailio 的 tcp_reuse_port 以及 FreeSWITCH 的 reuse-connections 等等
通信
liulilittle12 天前
WintunAdapter 设计解析:一个 VNP 数据面的无锁优雅实现
网络·c++·it·通信
liulilittle12 天前
OPENPPP2 1.0.0.26145 正式版发布:内核态 SYSNAT 性能飞跃 + Windows 平台避坑指南
开发语言·网络·c++·windows·通信·vrrp
liulilittle16 天前
OPENPPP2 CTCP 协议栈 + 内置 TC Hairpin NAT 内核态程序
c语言·开发语言·网络·c++·信息与通信·通信
无名38717 天前
Kamailio usrloc redis 测试
通信
Alaso_shuang18 天前
一些通信协议科普
网络·嵌入式·通信