之前项目有用到LuaXml库,用于在nginx-lua中解析xml消息包。后来部署服务器时居然编译不过,具体步骤也忘记了,这里开单张重新梳理下,同时网上关于LuaXml编译的文章也很少,这里也给自己留个底。 LuaXml的编译需要Lua支持,LuaXml目前支持lua5.1和lua5.2。这里的lua库如果从官网上直接下载对应的版本,在编译LuaXml时会出现符号链接出错Bad Value的提示。 建议使用如下命令安装lua。 ubuntu:
centos可以使用yum安装。这样的目的是为了让系统默认寻找最匹配的lua库。 然后下载5.1版本的LuaXml,官网地址为:官网。下载完后,需要修改其中的Makefile文件,将头文件和库文件的目录换成系统中lua头文件和库文件所在的目录。 如果不清楚,可以先查找一下. 查找头文件 find / -name "lua.h" ,显示在/usr/include/lua5.1。查找库文件 find / -name "liblua*.a",显示在/usr/lib/i386-linux-gnu。 如下所示:
改为:
然后make。这里可能会提示找不到llua
我们需要修改Makefile,将其中的llua替换成llua5.1。重新make,这时应该会生成LuaXML_lib.so文件了。 如何使用呢,这里将LuaXML_lib.so和LuaXml.lua拷贝至工程目录,并将工程目录写入系统环境变量中,后续的使用参考我的另外一篇博客:Nginx+Lua环境中利用LuaXml解析Xml 。 至此,LuaXml库的编译就到此为止了。 |
|