问题描述
我正在尝试在Ubuntu 10.4 LTS上安装Lsyncd,但出现一些错误:
> checking for LUA... no checking for
> LUA... no checking for LUA...
> configure: error: Package requirements
> (lua >= 5.1.3) were not met:
>
> No package 'lua' found
>
> Consider adjusting the PKG_CONFIG_PATH
> environment variable if you installed
> software in a non-standard prefix.
>
> Alternatively, you may set the
> environment variables LUA_CFLAGS and
> LUA_LIBS to avoid the need to call
> pkg-config. See the pkg-config man
> page for more details.
或者我知道我已经安装了Lua:
# lua -v
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
我在几个论坛上阅读过,我需要一个lua.pc文件,但找不到。有人知道如何进行吗?
谢谢
编辑:已解决
一些软件包丢失;)
apt-get install liblua5.1-0-dev liblua50-dev liblualib50-dev
最佳方法
如果您自己编译软件,则不仅应安装运行时(lua5.1),还应安装开发包(liblua5.1-0-dev)。该软件包包含lua5.1.pc文件。
次佳方法
尝试sudo apt-get install liblua5.1-0-dev
第三种方法
我在尝试编译luacrypto时在我的debian jessie上遇到了同样的问题。
问题是,在configure.ac中,luacrypto尝试以下操作:
PKG_CHECK_MODULES([LUA], [lua])
LUALIBDIR="`$PKGCONFIG --variable=libdir lua`"
问题在于,由于有多个版本,您需要指定所需的版本,这是我的pkg-config –list-all的输出:
root@test-stream:~/luacrypto# pkg-config --list-all|grep -i lua
lua-5.1-c++ Lua - Lua language engine
lua-5.1 Lua - Lua language engine
lualib50 lua50 - The Lua 5.0 programming language addon libraries
lua5.1 Lua - Lua language engine
lua5.1-c++ Lua - Lua language engine
lua51 Lua - Lua language engine
lua50 lua50 - The Lua 5.0 programming language
lua51-c++ Lua - Lua language engine
我只是这样修改了luacrypto的顶层configure.ac:
diff --git a/configure.ac b/configure.ac
index b6b9175..20ea20c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,10 +28,10 @@ AC_CHECK_FUNCS([memset])
# pkgconfig
PKG_CHECK_MODULES([OPENSSL], [openssl])
-PKG_CHECK_MODULES([LUA], [lua])
+PKG_CHECK_MODULES([LUA], [lua5.1])
# lua libdir
-LUALIBDIR="`$PKGCONFIG --variable=libdir lua`"
+LUALIBDIR="`$PKGCONFIG --variable=libdir lua5.1`"
然后使用autoreconf -i(您需要为此使用autoconf& automake),它可以正常工作!