【问题标题】:avahi compilation error "libgdbm.so not found" ubuntu 16.04?avahi 编译错误“找不到 libgdbm.so”ubuntu 16.04?
【发布时间】:2018-08-01 07:15:43
【问题描述】:

出现libgdbm.so not found 错误,即使安装了正确的软件包也无法解决。我也找不到关于从源代码编译和安装的适当文档。

【问题讨论】:

    标签: avahi


    【解决方案1】:

    要在 Ubuntu 上构建 avahi,我建议执行以下步骤:

    sudo apt-get build-dep avahi # (you'll need to have enabled deb-src lines in /etc/apt/sources.list for this to work, or you can use the software settings to enable source packages)
    

    然后另外安装xml2man和python-gi-dev

    sudo apt install python-gi-dev xml2man
    

    然后使用这些选项进行配置:

    ./configure --disable-gtk --disable-qt3 --disable-mono
    

    Avahi 总是会出现关于它无法找到的构建依赖项的错误,要求您明确禁用这些项目。以上我建议禁用一些旧工具包(gtk2 和 qt3)以及单声道支持。如果您遇到其他错误,您通常可以使用类似的 --disable-X 选项来禁用这些错误。但是对于 Ubuntu,您通常可以编译几乎所有其他内容。

    gtk 和 qt3 在最新的 git 中默认禁用,但不是最新版本。

    检查所需 ubuntu 依赖的快速位置是 travis 配置:https://github.com/lathiat/avahi/blob/master/.travis.yml

    出于好奇,您从源代码构建的原因是什么? Ubuntu 16.04 中的 Avahi 软件包应该可以正常运行。

    【讨论】:

    • 我们在容器中使用 avahi 作为服务广告商测试 cisco mdns 堆栈,看起来 avahi 没有响应 L2 单播查询,因此在 avahi 中进行更多调试以查找根本原因
    • 感谢 ralhulk 的留言 - 我是当前项目的作者和维护者,如果您需要进一步的帮助,请随时通过电子邮件与我联系
    【解决方案2】:

    编译步骤:

    1) 安装依赖

    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
    sudo apt-get install libqt4-dev libtool libglib2.0-dev intltool build-essential libgtk2.0-dev libdaemon-dev xmltoman
    

    2) 生成配置文件

    bash autogen.sh
    

    忽略以下错误

    checking for QT5... no
    configure: error: Package requirements ( Qt5Core >= 5.0.0 ) were not met: 
    No package 'Qt5Core' found
    

    3) 创建makefile

    ./configure --prefix=/usr     \
                --sysconfdir=/etc  \
                --localstatedir=/var \
                --disable-static     \
                --disable-mono       \
                --disable-monodoc    \
                --disable-python     \
                --disable-qt3        \
                --disable-qt4        \
                --disable-qt5        \
                --disable-gdbm       \
                --enable-core-docs   \
                --with-distro=none   \
                --with-systemdsystemunitdir=no \
                --disable-shared \
                --disable-gtk
    

    4) 制作和安装

    make
    sudo make install
    

    [编辑] 如果使用自定义日志/代码进行调试,请在配置中使用 --disable-shared 否则更改不会反映。

    【讨论】:

      猜你喜欢
      • 2018-06-11
      • 2017-07-15
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      相关资源
      最近更新 更多