Hello!
On Sat, Apr 12, 2014 at 12:07 AM, lhmwzy wrote:
> 不知道算不算一个bug.
> 在1.5.12RC1中,
> local uuid = ffi.load("uuid")
> 这样的语句是可以正常运行的,它可以自动去系统默认的lib目录如/usr/lib去寻找名为libuuid.so的文件,可以1.5.12RC2中,却不行。
> 只能写为
> local C = ffi.load("libuuid.so")
> 才能正确找到所需要的库并正确运行。
>
这很奇怪。因为 RC2 相比 RC1 并没有对 ffi.load 相关的部分作任何修改。在我本地 Linux x86_64(Fedora
20)上测试 RC2 也无法复现你说的问题:
$ /usr/local/openresty/nginx/sbin/nginx -V 2>&1 | head -n2
nginx version: openresty/1.5.12.1rc1
built by gcc 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC)
$ /usr/local/openresty/luajit/bin/luajit-2.1.0-alpha -e 'ffi =
require "ffi" ffi.load("sregex")'
/usr/local/openresty/luajit/bin/luajit-2.1.0-alpha: (command
line):1: libsregex.so: cannot open shared object file: No such file or
directory
stack traceback:
[C]: in function 'load'
(command line):1: in main chunk
[C]: at 0x004049d0
我们看到 "sregex" 确实被转换成了 "libsregex.so".
Regards,
-agentzh