Dependencias de Menelik Core
Para crear las dependencias necesarias para Menelik Core en el sistema operativo actual o en otro sistema operativo/arquitectura, sigue las instrucciones a continuación.
Uso
Para crear dependencias para el sistema operativo actual:
make
Para compilar para otra arquitectura/sistema operativo:
make HOST=host-platform-triplet
Por ejemplo:
make HOST=x86_64-w64-mingw32 -j4
Esto generará un prefijo adecuado para insertarlo en la configuración de Menelik. En el ejemplo anterior, se creará un directorio llamado x86_64-w64-mingw32
. Para usarlo en Menelik:
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
Host Platform Triplets Comunes para la Compilación Cruzada
i686-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 bitsriscv32-linux-gnu
para Linux RISC-V de 32 bitsriscv64-linux-gnu
para Linux RISC-V de 64 bits
No se necesitan otras opciones, las rutas se configuran automáticamente.
Instalar las Dependencias Necesarias: Ubuntu y Debian
Para la compilación cruzada de macOS:
sudo apt-get install curl librsvg2-bin libtiff-tools bsdmainutils imagemagick libcap-dev libz-dev libbz2-dev python-setuptools
Para la compilación cruzada Win32/Win64:
Consulta build-windows.md para más detalles.
Para compilación cruzada de Linux (incluidos i386 y ARM):
sudo apt-get install curl g++-aarch64-linux-gnu g++-4.8-aarch64-linux-gnu gcc-4.8-aarch64-linux-gnu binutils-aarch64-linux-gnu g++-arm-linux-gnueabihf g++-4.8-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf binutils-arm-linux-gnueabihf g++-4.8-multilib gcc-4.8-multilib binutils-gold bsdmainutils
Para la compilación cruzada de Linux RISC-V de 64 bits (no hay paquetes para 32 bits):
sudo apt-get install curl g++-riscv64-linux-gnu binutils-riscv64-linux-gnu
Problema conocido de RISC-V: gcc-7.3.0 y gcc-7.3.1 resultan en un test_menelik
ejecutable dañado (ver bitcoin/bitcoin#13543), esto aparentemente está solucionado en gcc-8.1.0.
Opciones de Dependencia
Se pueden configurar las siguientes opciones al ejecutar make
:
SOURCES_PATH: downloaded sources will be placed here
BASE_CACHE: built packages will be placed here
SDK_PATH: Path where sdk's can be found (used by OSX)
FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
NO_QT: Don't download/build/cache qt and its dependencies
NO_WALLET: Don't download/build/cache libs needed to enable the wallet
NO_UPNP: Don't download/build/cache packages needed for enabling upnp
DEBUG: disable some optimizations and enable more runtime checking
HOST_ID_SALT: Optional salt to use when generating host package ids
BUILD_ID_SALT: Optional salt to use when generating build package ids
Si no se crean algunos paquetes, por ejemplo make NO_WALLET=1
, se pasarán las opciones adecuadas a la configuración de Menelik Core. En este caso, --disable-wallet
.
Objetivos Adicionales
- download: ejecuta 'make download' para descargar todas las fuentes sin compilarlas.
- download-osx: ejecuta 'make download-osx' para descargar todas las fuentes necesarias para compilaciones de OSX.
- download-win: ejecuta 'make download-win' para descargar todas las fuentes necesarias para compilaciones de Windows.
- download-linux: ejecuta 'make download-linux' para descargar todas las fuentes necesarias para compilaciones de Linux.
Otra Documentación
- description.md: Descripción general del sistema dependiente
- packages.md: Pasos para agregar paquetes