Пакет 'lua' не найден, но он установлен - PullRequest
30 голосов
/ 18 марта 2011

Я пытаюсь установить Lsyncd на Ubuntu 10.4 LTS , но получаю ошибку:

> 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 ]

33 голосов
/ 18 марта 2011

Если вы компилируете программное обеспечение самостоятельно, вы должны установить не только среду выполнения (lua5.1), но и пакеты разработки (liblua5.1-0-dev). Этот пакет содержит файл lua5.1.pc.

Это также входит в исходный код lua .

6 голосов
/ 23 мая 2016

Я столкнулся с той же проблемой на моем Debian Jessie, когда пытался скомпилировать luacrypto.

Проблема в том, что в 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

Я только что изменил файл верхнего уровня 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), и все работает!

6 голосов
/ 20 апреля 2014

попробуй sudo apt-get install liblua5.1-0-dev

0 голосов
/ 15 мая 2014

Кажется, вы установили Lua .

Отсутствующий файл lua5.1.pc будет находиться в папке etc Чтобы установить другие отсутствующие пакеты, попробуйте следующую команду

sudo apt-get install libreadline-dev
...