如何为lua 5.3构建luasockets 3.0

时间:2015-12-16 11:18:30

标签: lua luasocket

我需要建立lua-redis。 Lua-dedis取决于luasockets。 Luasockets 2.0无法构建:my question on sockets 2.0 and lua 5.3我被建议使用luasockets 3.0。我制作它们,但它们被安装到lua 5.1和lua 5.3仍然没有看到这个库:

root@debian:/home/debian/luasocket-master# make install
make -C src install
make[1]: Entering directory `/home/debian/luasocket-master/src'
install -d /usr/local/share/lua/5.1
install -m644 ltn12.lua socket.lua mime.lua /usr/local/share/lua/5.1
install -d /usr/local/share/lua/5.1/socket
install -m644 http.lua url.lua tp.lua ftp.lua headers.lua smtp.lua /usr/local/share/lua/5.1/socket
install -d /usr/local/lib/lua/5.1/socket
install socket-3.0-rc1.so /usr/local/lib/lua/5.1/socket/core.so
install -d /usr/local/lib/lua/5.1/mime
install mime-1.0.3.so /usr/local/lib/lua/5.1/mime/core.so
make[1]: Leaving directory `/home/debian/luasocket-master/src'
root@debian:/home/debian/luasocket-master# lua
Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require('socket')
stdin:1: module 'socket' not found:
    no field package.preload['socket']
    no file '/usr/local/share/lua/5.3/socket.lua'
    no file '/usr/local/share/lua/5.3/socket/init.lua'

如何更改目标lua版本?

这与我关于套接字2.0的问题不重复,因为它是不同的代码库和不同的问题。套接字2.0无法编译,套接字3.0无法安装。

1 个答案:

答案 0 :(得分:1)

查看the Makefile会发现以下内容:

install-both:
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.1
    @cd src; $(MAKE) install LUAV=5.1
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.2
    @cd src; $(MAKE) install LUAV=5.2
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.3
    @cd src; $(MAKE) install LUAV=5.3

src/Makefile使用变量LUAV来选择包含文件/安装路径/ ....

这意味着你也可以直接为你感兴趣的版本调用它(并将所有make个调用合并为一个):

make clean all install LUAV=5.3