35

我正在尝试在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
4

4 回答 4

37

如果自己编译软件,不仅要安装运行时(lua5.1),还要安装开发包(liblua5.1-0-dev)。该软件包包含 lua5.1.pc 文件。

它也在lua 源代码分发中。

于 2011-03-18T10:42:33.053 回答
7

尝试 sudo apt-get install liblua5.1-0-dev

于 2014-04-20T19:30:07.960 回答
7

在尝试编译 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),它就可以工作了!

于 2016-05-23T15:28:56.130 回答
0

看来您已经安装了Lua

丢失的lua5.1.pc文件将出现在etc文件夹中要安装其他丢失的软件包,请尝试以下命令

sudo apt-get install libreadline-dev
于 2014-05-15T06:31:53.570 回答