【问题标题】:No package 'lua' found but i have it installed没有找到包'lua',但我已经安装了它
【发布时间】:2011-07-18 00:44:06
【问题描述】:

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

【问题讨论】:

  • 如果您使用的是 Lua 5.1,则不需要“50”。这些适用于 Lua 5.0。

标签: ubuntu lua pkg-config


【解决方案1】:

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

它也在lua source distribution中。

【讨论】:

  • 必须添加指向正确配置文件的链接。 sudo ln -s /usr/lib/x86_64-linux-gnu/pkgconfig/lua5.1.pc /usr/lib/pkgconfig/lua.pc
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我在尝试编译 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 )它工作!

    【讨论】:

    • 你是我的英雄!
    【解决方案4】:

    您似乎已经安装了 Lua

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

    sudo apt-get install libreadline-dev
    

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 2020-03-15
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      相关资源
      最近更新 更多