nginx模块LuaJIT编译安装问题解决 不指定

jed , 2013-7-15 14:06 , 服务器技术 , 评论(0) , 阅读(195107) , Via 本站原创 | |
环境:
nginx-1.2.7.tar.gz
LuaJIT-2.0.1.tar.gz

按照正常流程对LuaJIT-2.0.1.tar.gz编译,make;make install
编译nginx
        export LUAJIT_LIB=/usr/local/lib
        export LUAJIT_INC=/usr/local/include/luajit-2.0
  ./configure --prefix=/usr/local/nginx --add-module=exp/lua-nginx-module/   其他模块参数略

此时会报告错误
checking for LuaJIT library in /usr/local/lib and /usr/local/include/luajit-2.0 (specified by the LUAJIT_LIB and LUAJIT_INC env) ... not found
        ./configure: error: the ngx_lua addon requires the lua or luajit library and LUAJIT_LIB is defined as /usr/local/lib and LUAJIT_INC /usr/local/include/luajit-2.0, but we cannot find LuaJIT there.

但是查看相应目录及文件都存在,对错误细节内容追踪,在 objs/autoconf.err 中包含

>> ----------------------------------------
>>   checking for LuaJIT library in /usr/local/lib and
>> /usr/local/include/luajit-2.0 (specified by the LUAJIT_LIB and LUAJIT_INC
>> env)
>>
>>   /usr/local/lib/libluajit-5.1.a(lj_clib.o): In function `lj_clib_unload':
>>   lj_clib.c:(.text+0x9d): undefined reference to `dlclose'
>>   /usr/local/lib/libluajit-5.1.a(lj_clib.o): In function `clib_error_':
>>   lj_clib.c:(.text+0xb5): undefined reference to `dlerror'
>>   /usr/local/lib/libluajit-5.1.a(lj_clib.o): In function `lj_clib_load':
>>   lj_clib.c:(.text+0x1bf): undefined reference to `dlopen'
>>   lj_clib.c:(.text+0x214): undefined reference to `dlerror'
>>   lj_clib.c:(.text+0x2ec): undefined reference to `dlopen'
>>   lj_clib.c:(.text+0x2fd): undefined reference to `dlerror'
>>   /usr/local/lib/libluajit-5.1.a(lj_clib.o): In function `lj_clib_index':
>>   lj_clib.c:(.text+0x47e): undefined reference to `dlsym'
>>   collect2: ld 返回 1

通过该提示,可以在 configure 后追加 --with-ld-opt=-ldl 解决编译问题,并能顺利通过,但是不建议自己指定-ldl选项,因为会导致其他问题。
那能否不指定这个选择,顺利完成编译呢?
通过对LuaJIT编译过程分析,发现LuaJIT在编译中未找到ldconfig,分析为此原因导致
编辑 Makefile文件,找到ldconfig位置(75行)
原内容是:LDCONFIG= ldconfig -n
修改为:LDCONFIG= /sbin/ldconfig -n

然后对LuaJIT重新make install

此时再编译nginx,一切顺利
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]