Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

1 Problemas de compilación

Estos son los problemas conocidos relacionados con la compilación de Zabbix a partir de las fuentes. Para todos los demás casos, consulte la página Problemas conocidos.

Compilando el agente Zabbix en HP-UX

Si instala la biblioteca PCRE desde el popular sitio de paquetes HP-UX http://hpux.connect.org.uk (por ejemplo, desde el archivo pcre-8.42-ia64_64-11.31.depot), solo se instalará la versión de 64 bits de la biblioteca en el directorio /usr/local/lib/hpux64.

En este caso, para una compilación exitosa del agente, se necesita una opción personalizada para el script configure, por ejemplo:

CFLAGS="+DD64" ./configure --enable-agent --with-libpcre-include=/usr/local/include --with-libpcre-lib=/usr/local/lib/hpux64

Biblioteca en una ubicación no estándar

Zabbix le permite especificar una biblioteca ubicada en una ubicación no estándar. En el siguiente ejemplo, Zabbix ejecutará curl-config desde la ubicación no estándar especificada y usará su salida para determinar el libcurl correcto a usar.

$ ./configure --enable-server --with-mysql --with-libcurl=/usr/local/bin/curl-config

Esto funcionará si es el único libcurl instalado en el sistema, pero podría no funcionar si hay otro libcurl instalado en una ubicación estándar (por ejemplo, por el administrador de paquetes). Tal es el caso cuando necesita una versión más nueva de la biblioteca para Zabbix y la anterior para otras aplicaciones.

Por lo tanto, especificar un componente en una ubicación no estándar no siempre funcionará cuando el mismo componente también existe en una ubicación estándar.

Por ejemplo, si usa un libcurl más nuevo instalado en /usr/local con el paquete libcurl aún instalado, Zabbix podría seleccionar el incorrecto y la compilación fallará:

usr/bin/ld: ../../src/libs/zbxhttp/libzbxhttp.a(http.o): en la función 'zbx_http_convert_to_utf8':
       /tmp/zabbix-master/src/libs/zbxhttp/http.c:957: undefined reference to 'curl_easy_header'collect2: error: ld returned 1 exit status

Aquí, la función curl_easy_header() no está disponible en el /usr/lib/x86_64-linux-gnu/libcurl.so antiguo, pero sí en el /usr/local/lib/libcurl.so más nuevo .

El problema radica en el orden de los indicadores del vinculador y una solución es especificar la ruta completa a la biblioteca en una variable LDFLAGS:

$ LDFLAGS="-Wl,--no-as-needed /usr/local/lib/libcurl.so" ./configure --enable-server --with-mysql --with-libcurl=/usr/local/bin/curl-config

Tenga en cuenta la opción -Wl,--no-as-needed que puede ser necesaria en algunos sistemas (consulte también: opciones de enlace predeterminadas en los sistemas basados en Debian).

Tamaño de pila demasiado pequeño en algunos sistemas

Si Zabbix se bloquea o congela debido a desbordamientos de pila, puede aumentar el tamaño de pila por hilo utilizando la opción --with-stacksize al configurar las fuentes. Este problema puede ocurrir en sistemas con límites de pila por hilo bajos por defecto, especialmente durante el preprocesamiento, donde se crean múltiples hilos.

El siguiente ejemplo establece el tamaño de pila en 512 KB por hilo:

./configure --enable-server --with-mysql --with-stacksize=512

Puede comprobar los límites de pila de hilos del sistema en tiempo de ejecución utilizando el comando ulimit -s en sistemas basados en Linux.