使用 libxml2 支持编译 Zabbix 5.2

Compiling Zabbix 5.2 with libxml2 support

我在编译以这种方式配置的 Zabbix 5.2 时遇到问题:

# ./configure --enable-server --enable-agent   --with-net-snmp --with-libcurl --with-libxml2 --with-postgresql --with-prefix=/usr/local/zabbix5 --verbose
...
checking for PostgreSQL libraries... yes
checking if PostgreSQL version is >= 9.2... yes
checking for Zabbix server/proxy database selection... ok
checking for multirow insert statements... yes
checking for pkg-config... no
checking for pkg-config... no
configure: error: LIBXML2 library not found

现在我已经安装了libxml2-dev (apt install libxml2-dev)。它确实显示为 libxml2-dev:amd64,不知道为什么,因为 OS 是 amd64

我尝试设置不同的环境变量,例如 export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/libxml-2.0.pc(这是 libxml2-dev:amd64 安装的配置)。

我不知道为什么会发生这种情况,也不知道该如何解决。

OS: Debian 10 amd64.

我解决了这个问题,问题是我使用的源来自 Debian 软件包 (apt source zabbix-server-pgsql),它们不是从 Zabbix 站点下载的源。

以通常的 ./configure; make; make install 方式构建时似乎会出现此问题。但是,当我构建 Debian 软件包时它工作正常:

dpkg-buildpackage -us -uc -nc

我刚刚从 Ubuntu 16.04 上的源代码成功安装了 Zabbix 5.2。即使我安装了 libxml2-dev 软件包,我也遇到了与您相同的错误。找了一天解决方案,在查看错误日志时想到了一个主意:

checking for pkg-config... no
configure: error: LIBXML2 library not found

可能是因为我还没有安装pkg-config包。然后我尝试安装它并再次运行配置命令:

sudo apt install pkg-config

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-libcurl --with-libxml2=/usr/bin/xml2-config

没想到配置成功了