0

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

4

2 回答 2

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) 创建生成文件

./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-08-01T07:58:32.420 回答
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,您通常可以编译几乎所有其他内容。

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

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

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

于 2018-08-02T04:15:22.857 回答