如何为 lua 5.3 构建 luasockets 3.0
How to build luasockets 3.0 for lua 5.3
我需要构建 lua-redis。 Lua-dedis 依赖于 lua 套接字。 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 的问题的重复,因为它是不同的代码库和不同的问题。 Sockets 2.0 编译失败,sockets 3.0 安装失败。
看看 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
来 select 包含文件/安装路径 / ….
这意味着您也可以针对您感兴趣的版本直接调用它(并将所有 make
调用合并为一个):
make clean all install LUAV=5.3
我需要构建 lua-redis。 Lua-dedis 依赖于 lua 套接字。 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 的问题的重复,因为它是不同的代码库和不同的问题。 Sockets 2.0 编译失败,sockets 3.0 安装失败。
看看 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
来 select 包含文件/安装路径 / ….
这意味着您也可以针对您感兴趣的版本直接调用它(并将所有 make
调用合并为一个):
make clean all install LUAV=5.3