Ответ 1
При компиляции программного обеспечения вы должны установить не только среду выполнения (lua5.1), но и пакеты разработки (liblua5.1-0-dev). Этот пакет содержит файл lua5.1.pc.
Он также находится в источнике распространения lua.
Я пытаюсь установить 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, но я не могу его найти. Кто-нибудь знает, как действовать?
Спасибо
EDIT: SOLVED
Некоторые пакеты отсутствовали;)
apt-get install liblua5.1-0-dev liblua50-dev liblualib50-dev
При компиляции программного обеспечения вы должны установить не только среду выполнения (lua5.1), но и пакеты разработки (liblua5.1-0-dev). Этот пакет содержит файл lua5.1.pc.
Он также находится в источнике распространения lua.
попробовать
sudo apt-get install liblua5.1-0-dev
Я встретил ту же проблему на моей debian jessie, пытаясь скомпилировать luacrypto.
Проблема заключается в том, что в configure.ac luacrypto попробуйте следующее:
PKG_CHECK_MODULES([LUA], [lua])
LUALIBDIR="`$PKGCONFIG --variable=libdir lua`"
Проблема в том, что, поскольку доступно несколько версий, вам нужно указать, какой из них вы хотите, вот мой вывод для pkg-config -list-all:
[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 для этого), и он работает!
Кажется, вы установили Lua.
Отсутствующий файл lua5.1.pc
будет присутствовать в папке и т.д.
Чтобы установить другие недостающие пакеты, попробуйте выполнить приведенную ниже команду
sudo apt-get install libreadline-dev