2011-03-18 103 views
27

我试图安装LsyncdUbuntu的LTS 10.4,但我得到一些错误:没有包“LUA”找到,但我把它安装

> 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 
+3

如果您使用的是Lua 5.1,则不需要'50'。这些是为Lua 5.0。 – jpjacobs 2012-01-09 08:33:09

回答

28

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

它也在lua source distribution

5

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

0

看来你已经安装了的Lua

缺少lua5.1.pc文件将存在于文件夹 要安装其他失踪包试试下面的命令

sudo apt-get install libreadline-dev 
4

我对我的Debian杰西遇到了同样的问题,而试图编译luacrypto。

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

PKG_CHECK_MODULES([LUA], [lua]) 
LUALIBDIR="`$PKGCONFIG --variable=libdir lua`" 

的问题是,因为有多个可用的版本,你需要指定你想要哪一个,这里是我的输出pkg配置--list全:

[email protected]:~/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 

我只是修改顶级configure.ac为luacrypto这样:

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),它的工作原理!

+0

你是我的英雄! – sidoh 2017-04-29 15:54:38

相关问题