Problemas para compilar bitcoind en OSX con homebrew

He leído el LÉAME en la página de bitcoin github que le indica que instale las siguientes bibliotecas usando MacPorts: boost db48 dbus openssl.

Los tengo instalados usando homebrewlos que uso en lugar de MacPorts. También son las versiones correctas las que homebrewinstala, posteriormente, versiones incompatibles.

Con estos instalados, edité makepara apuntar a las bibliotecas homebrewinstaladas, es decir, DEPSDIR=/usr/localy agregando -I"$(DEPSDIR)/Cellar/berkeley-db4/4.8.30/include"aINCLUDEPATHS

Sin embargo, recibo este error del compilador que es críptico para mí:

https://gist.github.com/ashleyconnor/944f611b969444f06430145972b880cf

¿Alguien ha logrado que esto funcione?

Respuestas (2)

Actualización: estas instrucciones o similares están incluidas en la fuente de bitcoin a partir del 19 de febrero de 2013 . Ver doc/build-osx.mdpara más detalles. Como tal, las instrucciones a continuación pueden quedar obsoletas. Alternativamente, haga que sea fácil para usted y use el grifo casero de WyseNynja con brew tap wysenynja/bitcoin && brew install bitcoind.

Construyendo bitcoind en OSX 10.8 con homebrew

Tengo bitcoind trabajando usando estas instrucciones. Como referencia, estoy en OSX 10.8.2 con homebrew 0.9.3. Supuse que homebrew está instalado en /usr/local. También supuse que ha instalado las utilidades de línea de comandos de Xcode y cualquier otro paquete que sea esencial para crear código. Si construye algún código regularmente, por ejemplo, tiene RVM instalado para construir Ruby ocasionalmente, ¡probablemente esté bien!

Instale algunas bibliotecas necesarias de homebrew.

brew install boost miniupnpc openssl

Revertir la fórmula berkeley-db a una versión anterior

cd /usr/local
git checkout e6a374d Library/Formula/berkeley-db.rb

Es posible que deba desvincularlo si ya instaló la última versión.

brew unlink berkeley-db

Instale berkeley-db 4.8 ahora que tiene la fórmula correcta.

brew install berkeley-db

Pago desde Github.

git clone https://github.com/bitcoin/bitcoin.git

Edite el makefile.osx para cambiarlo un poco. Aquí hay una diferencia que muestra lo que necesita cambiar, o simplemente puede usar esto como un parche haciendo echo '$patch-text' | patch, donde $patch-text es el texto del parche a continuación.

diff --git a/src/makefile.osx b/src/makefile.osx
index 9629545..ffac9a3 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -7,17 +7,19 @@
 # Originally by Laszlo Hanyecz (solar@heliacal.net)

 CXX=llvm-g++
-DEPSDIR=/opt/local
+DEPSDIR?=/opt/local

 INCLUDEPATHS= \
  -I"$(CURDIR)" \
  -I"$(CURDIR)"/obj \
  -I"$(DEPSDIR)/include" \
- -I"$(DEPSDIR)/include/db48"
+ -I"$(DEPSDIR)/include/db48" \
+ -I"/usr/local/Cellar/openssl/1.0.1c/include"

 LIBPATHS= \
  -L"$(DEPSDIR)/lib" \
- -L"$(DEPSDIR)/lib/db48"
+ -L"$(DEPSDIR)/lib/db48" \
+ -L"/usr/local/Cellar/openssl/1.0.1c/lib"

 USE_UPNP:=1
 USE_IPV6:=1

Comience la construcción.

cd bitcoin/src
make -f makefile.osx DEPSDIR=/usr/local

Ahora está disponible en ./bitcoind. Sin embargo, primero tenemos que crear el archivo de configuración rpc. Ejecute ./bitcoind para obtener el nombre del archivo donde debe colocarse, o simplemente intente con el texto a continuación.

echo "rpcuser=bitcoinrpc
rpcpassword=HdAseQSRkirfoNuUSzqzixyL9sM1T6ABfzV1nyNmbuwg" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

La próxima vez que lo ejecute, comenzará a descargar la cadena de bloques, pero no generará nada mientras lo hace. Este proceso puede tardar varias horas.

El mío parece funcionar bien, pero sigue descargando la cadena de bloques. Podré saber después de algunas pruebas si funciona normalmente o no, ¡pero sospecho que sí!

Inspiraciones:

brew install berkeley-dbestá lanzandoError: No available formula for berkeley-db
Funciona con fórmula en HEAD. ¿Quizás el hash de confirmación está mal?
Querrás usar la berkeley-db4fórmula ahora de las versiones homebrew. Ese hash de confirmación era para cuando la fórmula berkeley-db no tenía ramas separadas.

La otra respuesta aquí probablemente funcione, pero tiene demasiados pasos para mi gusto.

npm install bitcore-node -g

Aunque esté instalando bitcore-node, incluye la dependencia de bitcoind que puede usar sola o con bitcore para agregar servicios además de bitcoind