Compilando Zabbix 5.2 con soporte libxml2
Tengo problemas para compilar Zabbix 5.2 configurado de esta manera:
# ./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
Ahora me he instalado libxml2-dev
( apt install libxml2-dev
). Aparece como libxml2-dev:amd64
, no estoy seguro de por qué, porque el sistema operativo lo es amd64
.
Intenté configurar diferentes variables de entorno, como export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/libxml-2.0.pc
(esa es la configuración instalada por libxml2-dev:amd64
).
No tengo idea de por qué sucede esto o cómo puedo solucionarlo.
SO: Debian 10 amd64.
Respuestas
Resolví el problema, el problema es que las fuentes que utilicé provienen del paquete Debian ( apt source zabbix-server-pgsql
) y no son fuentes descargadas del sitio de Zabbix.
Parece que este problema ocurre cuando se construye de la ./configure; make; make install
manera habitual . Sin embargo, cuando construyo el paquete Debian, funciona bien:
dpkg-buildpackage -us -uc -nc
Acabo de instalar Zabbix 5.2 con éxito desde fuentes en Ubuntu 16.04. También recibí el mismo error que el suyo a pesar de que instalé el libxml2-dev
paquete. Después de un día de buscar soluciones, se me ocurrió una idea al mirar el registro de errores:
checking for pkg-config... no
configure: error: LIBXML2 library not found
Probablemente porque no he instalado el pkg-config
paquete. Luego intenté instalarlo y ejecutar el comando de configuración nuevamente:
sudo apt install pkg-config
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-libcurl --with-libxml2=/usr/bin/xml2-config
Sorprendentemente, la configuración se realizó correctamente.