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:
i686-pc-linux-gnu
para Linux32x86_64-pc-linux-gnu
Para Linux64i686-w64-mingw32
para Win32x86_64-w64-mingw32
Para Win64x86_64-apple-darwin14
para MacOSXarm-linux-gnueabihf
para Linux ARM de 32 bitsaarch64-linux-gnu
para Linux ARM de 64 bits
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