avahi编译错误“找不到libgdbm.so” ubuntu 16.04吗?

时间:2018-08-01 07:15:43

标签: avahi

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

2 个答案:

答案 0 :(得分:0)

编译步骤:

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,则其他更改不会反映出来。

答案 1 :(得分:0)

要在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 Dep的快速方法是travis配置:https://github.com/lathiat/avahi/blob/master/.travis.yml

出于好奇,您从源头构建的原因是什么? Ubuntu 16.04中的Avahi软件包应该运行良好。