[comment]: # translation:outdated

[comment]: # ({db9581f0-7ceec24f})
# 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](/manual/installation/known_issues).

[comment]: # ({/db9581f0-7ceec24f})

[comment]: # ({59b50541-434390ba})
#### 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

[comment]: # ({/59b50541-434390ba})

[comment]: # ({1cd70dd2-c904d9ff})
#### 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](https://wiki.debian.org/ToolChain/DSOLinking)).

[comment]: # ({/1cd70dd2-c904d9ff})

[comment]: # ({new-766dd1da})
#### Stack size too small on some systems

If Zabbix crashes or freezes due to stack overflows, you can increase the per-thread stack size using the `--with-stacksize` option when [configuring the sources](/manual/installation/install#configure-the-sources).
This issue may occur on systems with low default thread stack limits, especially during [preprocessing](/manual/config/items/preprocessing), where multiple threads are created.

The following example sets the stack size to 512 KB per thread:

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

You can check the system thread stack limits at runtime using the `ulimit -s` command on Linux-based systems.

[comment]: # ({/new-766dd1da})
