【发布时间】:2018-08-01 07:15:43
【问题描述】:
出现libgdbm.so not found 错误,即使安装了正确的软件包也无法解决。我也找不到关于从源代码编译和安装的适当文档。
【问题讨论】:
标签: avahi
出现libgdbm.so not found 错误,即使安装了正确的软件包也无法解决。我也找不到关于从源代码编译和安装的适当文档。
【问题讨论】:
标签: avahi
要在 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 软件包应该可以正常运行。
【讨论】:
编译步骤:
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 否则更改不会反映。
【讨论】: