Как создать биткойн в Fedora 18?

Есть инструкции по сборке на Ubuntu/Debian, но я хочу собрать на Fedora.

Вы пробовали инструкции по сборке Linux в репозитории биткойнов?
Нет, я не знаю, где их найти.

Ответы (4)

Вам придется пересобрать OpenSSL, так как сборка, поставляемая Fedora/Red Hat , не включает поддержку криптографии на основе эллиптических кривых , на которую опирается Биткойн. Таким образом, вы должны построить свой собственный.

Как только это будет сделано, вы сможете продолжить сборку Биткойна в обычном режиме, при условии, что вы укажете его на свою частную сборку OpenSSL с расширением -rpath.

Или вы можете просто пропустить всю работу и использовать мой существующий репозиторий Yum . Это также дает вам пути, соответствующие стандартам, а также файлы bitcoind. Прочтите файлы спецификаций RPM, если вас действительно интересует процесс сборки.

Вот как я скомпилировал биткойн из исходного кода github в 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

теперь возьмите последний архив из: http://www.openssl.org/source/ , сохраните и распакуйте его в каталог, скажем, ~/installs/openssl_ecdsa

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

теперь вытащите последний источник биткойнов из github

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

если вам нужна последняя стабильная версия, проверьте номер версии здесь: 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
Вы действительно не должны делать sudo make installна OpenSSL. Это потенциально может сломать вашу систему.
Я не заметил никаких проблем. Вы можете просто выполнить шаг make, а затем указать команды экспорта в ~/installs/openssl_ecdsa в приведенных выше инструкциях.
У меня также работало на Fedora 17, спасибо!
@TomvanderWoerdt Не могли бы вы уточнить, пожалуйста?
@Petr Peller не совсем уверен, так как мой опыт работы с Oracle DBA, а не непосредственно с Linux или UNIX (но пришел сюда, чтобы решить мою проблему с биткойнами и лайткойнами на CentOS), но я предполагаю следующее: SSL используется для шифрования сетевых пакетов, поэтому, если что-то пойдет неправильно с этим, тогда расшифровка может завершиться неудачно... делая безопасные соединения более невозможными С помощью make install вы делаете свою версию установки SSL везде доступной для использования во всей системе, а не только для использования вашим программным обеспечением для монет и без вашего контроля. Это может вызвать серьезные проблемы.

Вам нужно будет установить эти библиотеки:

  • libssl — предоставляется opensslв Fedora
  • libboost — вызывается boostв Fedora
  • libdb4.8 - вызывается db4.8в Fedora
  • миниупнпк

Я не могу проверить это на данный момент, но попробуйте что-то вроде этого:

yum install openssl boost db4.8 miniupnpc

После того, как они установлены и могут понадобиться их пакеты src или dev, вы можете выполнить саму сборку:

cd src/
make -f makefile.unix

Также требуется 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/>Может быть связано с ошибкой ?
И нет пакета db4.8, по крайней мере, в репозитории Fedora 18 по умолчанию. Это в исходном репо?
Чтобы решить проблему с OpenSSL, попробуйте выполнить ./config --prefix=/usr/local enable-ec enable-ecdh enable-ecdsaсборку из исходного кода с помощью следующей команды:

Протестировано на Fedora 20, 64-бит:

$ 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