我正在尝试使用USE_LUA=1
标志构建HAProxy-1.9以启用lua支持。这是我正在使用的make
命令:
sudo make TARGET=linux USE_DL=1 USE_CRYPT_H=1 USE_LUA=1 LUA_LIB=/usr/bin/lua5.3 LUA_INC=/usr/include/lua5.3/ LUA_LIB_NAME=lua53
执行make命令时,出现以下错误:
LD haproxy
/usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: cannot find -llua53
collect2: error: ld returned 1 exit status
make: *** [Makefile:976: haproxy] Error 1
从我收集到的信息来看,似乎缺少一个库文件(猜测一个套接字文件),或者我提供了错误的目录。我正在使用OpenSuse Tumbleweed
。
编辑1
通过将haproxy
更改为TARGET=linux
,我可以从源头制作TARGET=generic
。生成文件停止后,在stdout上未报告任何错误。但是,未安装haproxy.service
。
我以前使用zypper
安装了haproxy。我删除它的唯一原因是使用USE_LUA=1
标志重新安装它,因为我不确定是否可以编辑haproxy post编译来更改编译时间配置。
重新安装后,它可以工作了。但是,我相信lua-load
出错。当我尝试lua-load /usr/share/haproxy/auth-request.lua
时,运行journalctl -xe: error in lua file '/tmp/auth-request.lua': cannot open /tmp/auth-request.lua: Permission denied
时出现以下错误。与haproxy:haproxy
文件中一样,在文件上设置的权限为haproxy.cfg
。我也尝试过修改user root group root
和haproxy.cfg
中的chown /tmp/auth-request.lua root:root
。错误仍然存在。
我可能与原始问题有所不同。我希望仍然有可能解决此问题。如果需要更多信息或上下文,则可以提供。
编辑2
最近,我尝试为/tmp/auth-request.lua
上的所有用户添加读取和执行权限。 ls -l
输出:
-rwxr-xr-x 1 root root 3957 Feb 25 02:24 /tmp/auth-request.lua
答案 0 :(得分:0)
好了几个小时后,我能够按照帖子中的 EDIT 2 解决权限问题。我将我的Lua脚本移到了haproxy config目录,这似乎行得通。虽然,我不太确定/etc/haproxy
是否是保留Lua脚本的好位置,但是,到目前为止,它仍然有效。