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