¿Cómo construyo Bitcoin en Fedora 18?

Hay instrucciones para compilar en Ubuntu/Debian, pero quiero compilarlo en Fedora.

¿Probó las instrucciones de compilación de Linux en el repositorio de bitcoin?
No, no sé dónde encontrarlos.

Respuestas (4)

Tendrá que reconstruir OpenSSL, ya que la compilación enviada por Fedora/Red Hat no incluye soporte para criptografía de curva elíptica , en la que se basa Bitcoin. Así que tienes que construir el tuyo propio.

Una vez hecho esto, puede continuar con la construcción de Bitcoin normalmente, siempre que lo apunte a su compilación privada de OpenSSL con -rpath.

O bien, puede omitir todo el trabajo y usar mi repositorio Yum existente . Esto también le brinda rutas que cumplen con los estándares, así como un SELinux habilitado bitcoind. Lea los archivos de especificaciones de RPM si está realmente interesado en el proceso de compilación.

Así es como compilé bitcoind desde la fuente de github en Fedora 18.

sudo yum install gcc-c++ make
sudo yum install boost-devel 
sudo yum install db4-devel
sudo yum install openssl-devel
sudo yum install rpm-build
sudo yum install lynx
sudo yum install python-devel
sudo yum install miniupnpc
sudo yum install miniupnpc-devel.i686
sudo yum install libdb-cxx.i686
sudo yum install libdb-cxx-devel.i686

ahora tome el tarball más reciente de: http://www.openssl.org/source/ guárdelo y descomprímalo en un directorio, digamos ~/installs/openssl_ecdsa

cd ~/installs/openssl_ecdsa
./config
make
sudo make install

ahora extraiga la última fuente de bitcoin de github

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

si desea la última versión estable, consulte el número de versión aquí: http://bitcoin.org/en/download

git checkout 0.8.3 //latest stable at the moment
cd bitcoin/src
export OPENSSL_INCLUDE_PATH="/usr/local/ssl/include"
export OPENSSL_LIB_PATH="/usr/local/ssl/lib"
make -f makefile.unix
Realmente no deberías estar haciendo una sudo make installen OpenSSL. Esto podría potencialmente romper su sistema.
No noté ningún problema. Simplemente puede hacer el paso de creación y luego apuntar los comandos de exportación a ~/installs/openssl_ecdsa, en las instrucciones anteriores.
También me funcionó en Fedora 17, ¡gracias!
@TomvanderWoerdt ¿Puede dar más detalles, por favor?
@Petr Peller no estoy del todo seguro ya que mi experiencia es Oracle DBA y no directamente Linux o UNIX (pero vine aquí para resolver mi problema con Bitcoin y Litecoin en CentOS) pero supongo que esto: SSL se usa para el cifrado de paquetes de red, así que si algo sale mal con eso, entonces el descifrado podría fallar... haciendo que las conexiones seguras ya no sean posibles Al hacer la instalación, usted hace que su versión de instalación de SSL esté disponible en todas partes para su uso en todo el sistema, no solo para ser utilizada por su software de monedas y sin su control. Esto puede causar serios problemas.

Deberá instalar estas bibliotecas:

  • libssl - proporcionada por opensslen Fedora
  • libboost - llamado boosten Fedora
  • libdb4.8 - llamado db4.8en Fedora
  • miniupnpc

No puedo probar esto en este momento, pero intente algo como esto:

yum install openssl boost db4.8 miniupnpc

Una vez que están instalados, y pueden ser necesarios sus paquetes src o dev, puede hacer la compilación real:

cd src/
make -f makefile.unix

También requiere Openssl-devel

In file included from alert.cpp:9:0:<br/> key.h:16:49: fatal error: openssl/ec.h: No such file or directory<br/> compilation terminated.<br/>¿Quizás relacionado con el error ?
Y no hay ningún paquete db4.8, al menos en el repositorio predeterminado de Fedora 18. ¿Está en el repositorio de origen?
Para resolver el problema de OpenSSL, intente compilar desde la fuente usando el siguiente comando: ./config --prefix=/usr/local enable-ec enable-ecdh enable-ecdsaEsto funcionó para una compilación de Primecoin, que creo que tiene un funcionamiento interno similar al de Bitcoin.

Probado en Fedora 20, 64 bits:

$ sudo yum groupinstall -y "Development Tools" "Development Libraries"
$ sudo yum install -y gcc-c++ libtool swig pyqt4-devel python-psutil python-twisted wget protobuf-devel
$ wget -qO- 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' | tar -xzv && cd db*/build_unix
$ ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/usr/local/
$ make
$ sudo make install
$ cd; wget -qO- https://www.openssl.org/source/openssl-1.0.1i.tar.gz | tar -xzv && cd o*
$ export CFLAGS="-fPIC"; ./config --prefix=/usr/local shared enable-ec enable-ecdh enable-ecdsa
$ make depend && make all
$ sudo make install
$ cd; git clone git://github.com/bitcoin/bitcoin.git; cd bitcoin
$ ./autogen.sh && ./configure LDFLAGS="-Wl,-rpath=/usr/local/lib64 -L/usr/local/lib/ -L/usr/local/lib64/" CPPFLAGS="-I/usr/local/include/"
$ make
$ sudo make install
$ mkdir ~/.bitcoin; wget -O ~/.bitcoin/bitcoin.conf https://raw.githubusercontent.com/averageradical/compile/gh-pages/example/bitcoin.conf
$ bitcoin-qt # or nohup bitcoind &
$ bitcoin-cli help