Я прочитал README на странице биткойн-github, в которой указано, как установить следующие библиотеки с помощью MacPorts — boost
db48
dbus
openssl
.
У меня они установлены, с помощью homebrew
которых я использую вместо MacPorts. Они также являются правильными версиями в качестве homebrew
установочных, более поздних, несовместимых версий.
С этими установленными я отредактировал, make
чтобы указать на homebrew
установленные библиотеки, а именно DEPSDIR=/usr/local
и добавил -I"$(DEPSDIR)/Cellar/berkeley-db4/4.8.30/include"
вINCLUDEPATHS
Однако я получаю эту ошибку компилятора, которая для меня загадочна:
https://gist.github.com/ashleyconnor/944f611b969444f06430145972b880cf
Кому-нибудь удалось заставить это работать?
Обновление: эти или аналогичные инструкции включены в источник биткойнов по состоянию на 19 февраля 2013 года . Подробнее doc/build-osx.md
см. Таким образом, приведенные ниже инструкции могут устареть. В качестве альтернативы, упростите себе использование домашнего крана WyseNynja с файлом brew tap wysenynja/bitcoin && brew install bitcoind
.
Я заставил биткойн работать, используя эти инструкции. Для справки, у меня OSX 10.8.2 с доморощенной версией 0.9.3. Я сделал предположение, что homebrew установлен в /usr/local. Я также предположил, что вы установили утилиты командной строки Xcode и любые другие пакеты, необходимые для создания кода. Если вы регулярно собираете какой-либо код, например, у вас установлен RVM для периодической сборки ruby, то, вероятно, все в порядке!
Установите несколько необходимых библиотек из homebrew.
brew install boost miniupnpc openssl
Вернуть формулу berkeley-db к более старой версии
cd /usr/local
git checkout e6a374d Library/Formula/berkeley-db.rb
Возможно, вам придется отключить его, если вы уже установили последнюю версию.
brew unlink berkeley-db
Установите berkeley-db 4.8 теперь, когда у вас есть правильная формула.
brew install berkeley-db
Оформить заказ на Github.
git clone https://github.com/bitcoin/bitcoin.git
Отредактируйте makefile.osx, чтобы немного изменить его. Вот разница, которая показывает, что вам нужно изменить, или вы можете просто использовать это как патч, выполнив echo '$patch-text' | patch
, где $patch-text — это текст патча ниже.
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
Запустите сборку.
cd bitcoin/src
make -f makefile.osx DEPSDIR=/usr/local
Теперь он доступен по адресу ./bitcoind. Однако сначала нам нужно создать файл конфигурации rpc. Запустите ./bitcoind, чтобы получить имя файла, куда его следует поместить, или просто попробуйте приведенный ниже текст.
echo "rpcuser=bitcoinrpc
rpcpassword=HdAseQSRkirfoNuUSzqzixyL9sM1T6ABfzV1nyNmbuwg" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
Когда вы в следующий раз запустите его, он начнет загрузку блокчейна, но при этом ничего не выведет. Этот процесс может занять несколько часов.
Мой, кажется, работает нормально, но он все еще загружает блокчейн. Я смогу сказать после некоторого тестирования, работает ли он нормально или нет, но я подозреваю, что это так!
Вдохновение:
Другой ответ здесь, вероятно, работает, но на мой вкус слишком много шагов.
npm install bitcore-node -g
Несмотря на то, что вы устанавливаете bitcore-node, он включает в себя зависимость bitcoind, которую вы можете использовать отдельно или вместе с bitcore для добавления сервисов поверх bitcoind.
Петр Пеллер
brew install berkeley-db
бросаетError: No available formula for berkeley-db
Петр Пеллер
Колин Дин
berkeley-db4
формулу из доморощенных версий. Этот хэш фиксации был для тех случаев, когда формула berkeley-db не имела отдельных ветвей.