出现libgdbm.so not found
错误,即使安装了适当的软件包也无法解决。另外,我也找不到从源代码进行编译和安装的适当文档。
答案 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软件包应该运行良好。