Mac OS X 10.11 EI Capitan下编译Bitcoin源代码

nrek
3 min readMay 27, 2017

--

git clone https://github.com/bitcoin/bitcoin
cd bitcoin
git tag
git checkout v0.14.1 # choose a recent stable version
git branch
brew install automake berkeley-db4 libtool boost --c++11 miniupnpc openssl pkg-config protobuf --c++11 qt5 libevent librsvg
./autogen.sh
./configure
make
make check # run tests

Note: 如果在编译bitcoind时有链接错误如:

CXXLD    bitcoindUndefined symbols for architecture x86_64:"_CRYPTO_num_locks", referenced from:CInit::CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)CInit::~CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)"_RAND_cleanup", referenced from:CInit::~CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)"_CRYPTO_set_locking_callback", referenced from:CInit::CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)CInit::~CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)"_OPENSSL_no_config", referenced from:CInit::CInit() in libbitcoin_util.a(libbitcoin_util_a-util.o)ld: symbol(s) not found for architecture x86_64clang: error: linker command failed with exit code 1 (use -v to see invocation)make[2]: *** [bitcoind] Error 1make[1]: *** [all-recursive] Error 1make: *** [all-recursive] Error 1

则在configure环境时需要明确给出boost库(具体看brew安装的是哪个版本的boost library)的地址:

./configure --with-boost-libdir=/usr/local/Cellar/boost/1.64.0_1/lib
make clean && make

--

--

nrek

Software Engineer and Crypto Developer/Enthusiast