Compilando Zabbix 5.2 com suporte para libxml2
Tenho problemas para compilar o Zabbix 5.2 configurado desta forma:
# ./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
Agora eu ter instalado libxml2-dev
( apt install libxml2-dev
). Ele aparece como libxml2-dev:amd64
, não sei por que, porque o sistema operacional é amd64
.
Tentei definir diferentes variáveis de ambiente, como export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/libxml-2.0.pc
(essa é a configuração instalada por libxml2-dev:amd64
).
Não tenho ideia de por que isso acontece ou como posso consertar.
SO: Debian 10 amd64.
Respostas
Resolvi o problema, o problema é que as fontes que usei vêm do pacote Debian ( apt source zabbix-server-pgsql
) e não são fontes baixadas do site Zabbix.
Parece que esse problema ocorre ao construir da ./configure; make; make install
maneira usual . No entanto, quando eu construo o pacote Debian, ele funciona bem:
dpkg-buildpackage -us -uc -nc
Acabei de instalar com sucesso o Zabbix 5.2 a partir de fontes no Ubuntu 16.04. Também recebi o mesmo erro que o seu, embora tenha instalado o libxml2-dev
pacote. Depois de um dia procurando soluções, tive uma ideia ao examinar o log de erros:
checking for pkg-config... no
configure: error: LIBXML2 library not found
Provavelmente porque não instalei o pkg-config
pacote. Então tentei instalá-lo e executar o comando de configuração novamente:
sudo apt install pkg-config
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-libcurl --with-libxml2=/usr/bin/xml2-config
Surpreendentemente, a configuração foi bem-sucedida.