Ubuntu 无包装';卢阿';找到了,但我已经安装好了

Ubuntu 无包装';卢阿';找到了,但我已经安装好了,ubuntu,lua,pkg-config,Ubuntu,Lua,Pkg Config,我正试图在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

我正试图在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文件,但我找不到。有人知道如何进行吗

多谢各位

编辑:已解决

某些包丢失;)


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

它也在中。

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

您似乎已经安装了Lua

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

sudo apt-get install libreadline-dev

在编译luacrypto时,我在debian jessie上遇到了同样的问题

问题是,在configure.ac中,luacrypto尝试以下操作:

PKG_CHECK_MODULES([LUA], [lua])
LUALIBDIR="`$PKGCONFIG --variable=libdir lua`"
问题是,由于有多个可用版本,您需要指定所需的版本,以下是我对pkg config的输出--列出所有:

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`"

然后autoeconf-i(你需要autoconf&automake来完成这个)就可以了

如果使用Lua5.1,则不需要“50”。这些是给Lua5.0的,你是我的英雄!必须添加到正确配置文件的链接。sudo ln-s/usr/lib/x86_64-linux-gnu/pkgconfig/lua5.1.pc/usr/lib/pkgconfig/lua.pc
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`"