说明:FS 1.4 使用的lua 5.2 ,需要使用luasocket 3.0 以上。
本文以FS 1.4 && luasocket 3.0 为基础,记录安装使用过程。
一、下载 & 解压 luasocket 3.0:
cd /usr/src
unzip v3.0-rc1.zip
二、 参数配置
cd luasocket-3.0-rc1/
cd src
perl -p -i.bak1 -e "s#luaL_openlib(L, NULL, func, 0)#luaL_register(L, NULL, func)#" *.c
perl -p -i.bak2 -e "s#luaL_openlib(L, "socket", func, 0)#luaL_register(L, "socket", func)#" *.c
perl -p -i.bak3 -e "s#luaL_openlib(L, "mime", func, 0)#luaL_register(L, "mime", func)#" *.c
cd ..
cd gem
perl -p -i.bak1 -e "s#、luaL_openlib(L, "gem", func, 0)#luaL_register(L, "gem", func)#" *.c
cd ..
make PLAT=linux DEBUG=NODEBUG LUAV=5.2 prefix=/usr/local COMPAT=NOCOMPAT LUAINC_linux=/usr/local/src/freeswitch-1.4.18/src/mod/languages/mod_lua/lua
make PLAT=linux DEBUG=NODEBUG LUAV=5.2 prefix=/usr/local COMPAT=NOCOMPAT LUAINC_linux=/usr/local/src/freeswitch-1.4.18/src/mod/languages/mod_lua/lua install
四、测试
新建lua 脚本 :/usr/local/freeswitch/scripts/test.lua ,内容如下:
local http = require("socket");
print("path: "..package.path.." cpath: "..package.cpath
输入 “ lua test.lua ” , 没有报错即安装成功。
freeswitch@localhost.localdomain> lua test.lua
path:
/usr/local/share/lua/5.2/?.lua;/usr/local/share/lua/5.2/?/init.lua;/usr/local/lib/lua/5.2/?.lua;/usr/local/lib/lua/5.2/?/init.lua;./?.lua
cpath:
/usr/local/lib/lua/5.2/?.so;/usr/local/lib/lua/5.2/loadall.so;./?.so