Menelik Logo

Notas de Construcción Genéricas

Algunas notas sobre cómo construir Menelik Core basado en el sistema de construcción dependiente.

Nota sobre las instrucciones de compilación antiguas

En el pasado, la documentación de compilación contenía instrucciones sobre cómo compilar Menelik con dependencias instaladas en todo el sistema, como BerkeleyDB 4.8, boost y Qt. La compilación de esta manera se considera obsoleta y, actualmente, solo se admite la compilación con el prefijo.

Herramientas y entorno de compilación necesarios

Para crear las dependencias y el núcleo de Menelik, es necesario instalar previamente algunas herramientas de compilación esenciales. Consulta build-unix, build-osx y build-windows para obtener más información.

Dependencias del edificio

Menelik heredó la carpeta depends de Bitcoin, que contiene todas las dependencias necesarias para compilar Menelik. Estas dependencias deben compilarse antes de que Menelik pueda compilarse. Para ello, realice lo siguiente:


$ cd depends
$ make -j4 # Choose a good -j value, depending on the number of CPU cores available
$ cd ..
    

Esto descargará y creará todas las dependencias necesarias para crear Menelik Core. El almacenamiento en caché de los resultados de la compilación garantizará que solo se reconstruyan los paquetes que hayan cambiado desde la última compilación de dependencias.

Es necesario volver a ejecutar los comandos anteriores de vez en cuando cuando se hayan actualizado o agregado dependencias. Si no se hace esto, pueden producirse errores de compilación al compilar Menelik.

Lea la documentación de Depende para obtener más detalles sobre los hosts compatibles y las opciones de configuración. Si no se especifica ningún host (como en el ejemplo anterior) al llamar a make, el sistema Depende utilizará de manera predeterminada su sistema host local.

Construyendo el núcleo de Menelik


$ ./autogen.sh
$ ./configure --prefix=`pwd`/depends/<host>
$ make
$ make install # optional
    

Reemplace <host> con el de su sistema local host-platform-triplet. Los siguientes tripletes suelen ser válidos:

Si desea realizar una compilación cruzada para otra plataforma, elija la adecuada <host> y asegúrese de compilar las dependencias con el mismo host antes.

Si desea compilar para el mismo host pero para una distribución diferente, agregue --enable-glibc-back-compat al llamar ./configure.

Cachete

./configure Menelik Core detectará automáticamente la presencia de ccache y habilitará su uso. Para deshabilitar ccache, use ./configure --prefix=<prefix> --disable-ccache. Cuando esté instalado y habilitado, ccache almacenará en caché los resultados de la compilación en el nivel de origen->objeto.

El tamaño máximo de caché predeterminado es 5G, lo que podría no ser suficiente para almacenar en caché varias compilaciones cuando se cambian las ramas de Git con mucha frecuencia. Se recomienda aumentar el tamaño máximo de caché:

$ ccache -M20G

Banderas de configuración adicionales

Se puede mostrar una lista de indicadores de configuración adicionales con:

./configure --help