2017年6月3日土曜日

MacOSXでbitcoindを設定する時に出るエラーとその対処法

ある端末でセットアップしようとした時にいくつかつまずいた点をまとめておく。

<事象>
configure: error: No working boost sleep implementation found.

<対応>
$ brew install autoconf automake libtool berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt

<結果>
$ make
....
net.cpp:1066:15: error: no matching function for call to 'upnpDiscover'
    devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error);
              ^~~~~~~~~~~~
/usr/local/include/miniupnpc/miniupnpc.h:62:1: note: candidate function not
      viable: requires 7 arguments, but 6 were provided
upnpDiscover(int delay, const char * multicastif,
^
1 error generated.
make[2]: *** [net.o] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

<判定>
どうやら選択しているバージョンが古いらしい。今までは
v0.9.5
を選択していた。リストの最下部に出てくるので最新かと思いきや。
$ git tag
で選択可能なバージョンを見直してみると
$ git tag
v0.1.5
v0.1.6test1
v0.10.0
v0.10.0rc1
v0.10.0rc2
v0.10.0rc3
v0.10.0rc4
v0.10.1
v0.10.1rc1
v0.10.1rc2
v0.10.1rc3
v0.10.2
v0.10.2rc1
v0.10.3
v0.10.3rc1
v0.10.3rc2
v0.10.4
v0.10.4rc1
v0.10.5
v0.11.0
v0.11.0rc1
v0.11.0rc2
v0.11.0rc3
v0.11.1
v0.11.1rc1
v0.11.1rc2
v0.11.2
v0.11.2rc1
v0.11.3
v0.12.0
v0.12.0rc1
v0.12.0rc2
v0.12.0rc3
v0.12.0rc4
v0.12.0rc5
v0.12.1
v0.12.1rc1
v0.12.1rc2
v0.13.0
v0.13.0rc1
v0.13.0rc2
v0.13.0rc3
v0.13.1
v0.13.1rc1
v0.13.1rc2
v0.13.1rc3
v0.13.2
v0.13.2rc1
v0.14.0
v0.14.0rc1
v0.14.0rc2
v0.14.0rc3
v0.14.1
v0.14.1rc1
v0.14.1rc2
v0.2.0
v0.2.10
v0.2.11
v0.2.12
v0.2.13
v0.2.2
v0.2.4
v0.2.5
v0.2.6
v0.2.7
v0.2.8
v0.2.9
v0.2rc2
v0.3.0
v0.3.1
v0.3.10
v0.3.11_notexact
v0.3.12
v0.3.13
v0.3.14
v0.3.15
v0.3.17
v0.3.18
v0.3.19
v0.3.1rc1
v0.3.2
v0.3.20
v0.3.20.01_closest
v0.3.20.2
v0.3.20.2_closest
v0.3.21
v0.3.21rc
v0.3.22
v0.3.22rc1
v0.3.22rc2
v0.3.22rc3
v0.3.22rc4
v0.3.22rc5
v0.3.22rc6
v0.3.23
v0.3.23rc1
v0.3.24
v0.3.24rc1
v0.3.24rc2
v0.3.24rc3
v0.3.3
v0.3.6
v0.3.7
v0.3.8
v0.3rc1
v0.3rc2
v0.3rc4
v0.4.0
v0.4.00rc1
v0.4.00rc2
v0.5.0
v0.5.0rc1
v0.5.0rc2
v0.5.0rc3
v0.5.0rc4
v0.5.0rc5
v0.5.0rc6
v0.5.0rc7
v0.5.1
v0.5.1rc1
v0.5.1rc2
v0.5.2
v0.5.3
v0.5.3rc4
v0.6.0
v0.6.0rc1
v0.6.0rc2
v0.6.0rc3
v0.6.0rc4
v0.6.0rc5
v0.6.0rc6
v0.6.1
v0.6.1rc1
v0.6.1rc2
v0.6.2
v0.6.2.1
v0.6.2.2
v0.6.3
v0.6.3rc1
v0.7.0
v0.7.0rc1
v0.7.0rc2
v0.7.0rc3
v0.7.1
v0.7.1rc1
v0.7.2
v0.7.2rc2
v0.8.0
v0.8.0rc1
v0.8.1
v0.8.2
v0.8.2rc1
v0.8.2rc2
v0.8.2rc3
v0.8.3
v0.8.4
v0.8.4rc2
v0.8.5
v0.8.6
v0.8.6rc1
v0.9.0
v0.9.0rc1
v0.9.0rc2
v0.9.0rc3
v0.9.1
v0.9.2
v0.9.2.1
v0.9.2rc1
v0.9.2rc2
v0.9.3
v0.9.3rc1
v0.9.3rc2
v0.9.4
v0.9.5
v0.9.5rc1
v0.9.5rc2

<対応> バージョンを最新にした。
$ git checkout v0.14.1

<結果>
$ ./configure
configure: error: libevent not found.

<対応>
依存関係のあるパッケージがまたひとつ抜けているらしいので。
$ brew install libevent
$ make

<結果>
Making all in doc/man
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all-am'.
$ sudo make install
Making install in doc/man
make[2]: Nothing to be done for `install-exec-am'.
 ../../build-aux/install-sh -c -d '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 bitcoind.1 bitcoin-qt.1 bitcoin-cli.1 bitcoin-tx.1 '/usr/local/share/man/man1'
make[2]: Nothing to be done for `install-exec-am'.
 build-aux/install-sh -c -d '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 libbitcoinconsensus.pc '/usr/local/lib/pkgconfig'

<確認>
$ which bitcoind
/usr/local/bin/bitcoind


0 件のコメント:

コメントを投稿