Thank you! @sigmike!
I appreciate your professional skills and attitude.
it runs smooth here now (so far)
When I run
make -f makefile.osx-mavericks RELEASE=true 64BIT=true
it says:
/bin/sh …/share/genbuild.sh obj/build.h
llvm-g++ -mmacosx-version-min=10.9 -O3 -arch x86_64 -w -Wextra -Wno-sign-compare -Wno-invalid-offsetof -Wformat-security -DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DHAVE_BUILD_INFO -I"/Users/glen/bcexchange/src" -I"/Users/glen/bcexchange/src/obj" -I"/usr/local/opt/berkeley-db4/include" -I"/usr/local/opt/boost/include" -I/usr/local/opt/openssl/include -o ppcoind -L"/lib" -L"/usr/local/opt/berkeley-db4/lib" -L"/usr/local/opt/boost/lib" -L/usr/local/opt/openssl/lib obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o obj/kernel.o obj/coinmetadata.o -dead_strip -ldb_cxx-4.8 -lboost_system-mt -lboost_filesystem-mt -lboost_program_options-mt -lboost_thread-mt -lssl -lcrypto -lz -lminiupnpc
Undefined symbols for architecture x86_64:
“CVote::ToScript(int) const”, referenced from:
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"CParkRateVote::ToParkRateResultScript() const", referenced from:
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"CUserVote::GenerateBlockVote(int) const", referenced from:
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::__1::set<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > const&, bool)", referenced from:
boost::program_options::detail::basic_config_file_iterator::basic_config_file_iterator(std::__1::basic_istream<char, std::__1::char_traits >&, std::__1::set<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > const&, bool) in util.o
"CUnsignedLiquidityInfo::GetTier() const", referenced from:
getliquidityinfo(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CVote::IsValid(int) const", referenced from:
setvote(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
CWallet::SetVote(CUserVote const&) in wallet.o
"MustUpgradeProtocol(CBlockIndex const*, int)", referenced from:
GetSwitchProtocolTime(CBlockIndex*, int) in bitcoinrpc.o
"GetAddressBalances(unsigned int, std::__1::map<CBitcoinAddress const, long long, std::__1::less, std::__1::allocator<std::__1::pair<CBitcoinAddress const, long long> > >&)", referenced from:
distribute(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"GenerateDistribution(std::__1::map<CBitcoinAddress const, long long, std::__1::less, std::__1::allocator<std::__1::pair<CBitcoinAddress const, long long> > > const&, double)", referenced from:
distribute(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CalculateVotedAssets(CBlockIndex*)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"CLiquidityInfo::ProcessLiquidityInfo()", referenced from:
ProcessMessage(CNode*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, CDataStream&) in main.o
liquidityinfo(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"_cs_mapLiquidityInfo", referenced from:
ProcessMessage(CNode*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, CDataStream&) in main.o
getliquidityinfo(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
getliquiditydetails(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"StartUpdateFromDataFeed()", referenced from:
StartNode(void*) in net.o
"_mapLiquidityInfo", referenced from:
ProcessMessage(CNode*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, CDataStream&) in main.o
getliquidityinfo(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::_1::allocator > > > > > const&, bool) in bitcoinrpc.o
getliquiditydetails(std::1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::1::basic_string<char, std::1::char_traits, std::1::allocator > > >, std::1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::1::basic_string<char, std::1::char_traits, std::1::allocator > > > > > const&, bool) in bitcoinrpc.o
"GetProtocolForNextBlock(CBlockIndex const*)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CBlock::AcceptBlock() in main.o
CreateNewBlock(CReserveKey&, CWallet*, bool) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"CalculateSignerRewardVoteResult(CBlockIndex*)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
"CalculateSignerReward(CBlockIndex const*, boost::variant<CNoDestination, CKeyID, CScriptID, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void, boost::detail::variant::void>&, long long&)", referenced from:
CTransaction::ConnectInputs(CTxDB&, std::__1::map<uint256, std::__1::pair<CTxIndex, CTransaction>, std::__1::less, std::__1::allocator<std::__1::pair<uint256 const, std::__1::pair<CTxIndex, CTransaction> > > >, std::__1::map<uint256, CTxIndex, std::__1::less, std::__1::allocator<std::__1::pair<uint256 const, CTxIndex> > >&, CDiskTxPos const&, CBlockIndex const*, bool, bool, bool) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"ExtractParkRateResults(CBlock const&, std::__1::vector<CParkRateVote, std::__1::allocator >&)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
"SendDistribution(DividendDistributor const&)", referenced from:
distribute(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"IsParkRateResult(CScript const&)", referenced from:
CTransaction::CheckTransaction() const in main.o
"RemoveExpiredLiquidityInfo(int)", referenced from:
CBlock::SetBestChain(CTxDB&, CBlockIndex*) in main.o
"ParseVote(std::__1::vector<json_spirit::Pair_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Pair_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&)", referenced from:
setvote(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"IsVote(CScript const&)", referenced from:
CTransaction::CheckTransaction() const in main.o
"ExtractVotes(CBlock const&, CBlockIndex const*, unsigned int, std::__1::vector<CVote, std::__1::allocator >&)", referenced from:
CBlock::CheckCustodianGrants(CBlockIndex const*) const in main.o
CreateNewBlock(CReserveKey&, CWallet*, bool) in main.o
"_strDataFeedError", referenced from:
GetWarnings(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >) in main.o
setdatafeed(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"GenerateCurrencyCoinBases(std::__1::vector<CVote, std::__1::allocator >, std::__1::map<CBitcoinAddress, CBlockIndex*, std::__1::less, std::__1::allocator<std::__1::pair<CBitcoinAddress const, CBlockIndex*> > > const&, std::__1::vector<CTransaction, std::__1::allocator >&)", referenced from:
CBlock::CheckCustodianGrants(CBlockIndex const*) const in main.o
CreateNewBlock(CReserveKey&, CWallet*, bool) in main.o
"boost::program_options::to_internal(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&)", referenced from:
boost::program_options::detail::basic_config_file_iterator::getline(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >&) in util.o
"GetPremium(long long, long long, unsigned char, std::__1::vector<CParkRateVote, std::__1::allocator > const&)", referenced from:
CTransaction::CheckParkWithResult(std::__1::vector<CParkRateVote, std::__1::allocator > const&) const in main.o
CTransaction::ConnectInputs(CTxDB&, std::__1::map<uint256, std::__1::pair<CTxIndex, CTransaction>, std::__1::less, std::__1::allocator<std::__1::pair<uint256 const, std::__1::pair<CTxIndex, CTransaction> > > >, std::__1::map<uint256, CTxIndex, std::__1::less, std::__1::allocator<std::__1::pair<uint256 const, CTxIndex> > >&, CDiskTxPos const&, CBlockIndex const*, bool, bool, bool) in main.o
CBlockIndex::GetPremium(long long, long long, unsigned char, int) const in main.o
"ExtractVote(CBlock const&, CVote&, int)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CBlock::AcceptBlock() in main.o
CreateNewBlock(CReserveKey&, CWallet*, bool) in main.o
"UpdateFromDataFeed()", referenced from:
setdatafeed(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CVote::IsValidInBlock(int) const", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"_curl_global_cleanup", referenced from:
Shutdown(void*) in init.o
"GetMinimumDividendPayout()", referenced from:
distribute(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CalculateReputationResult(CBlockIndex const*, std::__1::map<CBitcoinAddress, long long, std::__1::less, std::__1::allocator<std::__1::pair<CBitcoinAddress const, long long> > >&)", referenced from:
getreputations(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CalculateVotedFees(CBlockIndex*)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"CalculateSignerRewardVoteCounts(CBlockIndex const*, std::__1::map<short, int, std::__1::less, std::__1::allocator<std::__1::pair<short const, int> > >&, std::__1::map<int, int, std::__1::less, std::__1::allocator<std::__1::pair<int const, int> > >&)", referenced from:
getsignerrewardvotes(std::__1::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > >, std::__1::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > > > > > const&, bool) in bitcoinrpc.o
"CalculateParkRateResults(CVote const&, CBlockIndex const*, int, std::__1::vector<CParkRateVote, std::__1::allocator >&)", referenced from:
CBlock::AddToBlockIndex(unsigned int, unsigned int) in main.o
CreateNewBlock(CReserveKey&, CWallet*, bool) in main.o
CWallet::CreateCoinStake(CKeyStore const&, unsigned int, long long, CTransaction&, CBlockIndex*) in wallet.o
"_curl_global_init", referenced from:
AppInit2(int, char**) in init.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ppcoind] Error 1
Works good
I’m back with B&C haha
I released version 5.0.3 (same as RC1 except for the version number):
https://bitbucket.org/JordanLeePeershares/bcexchange/downloads/bcexchange-5.0.3-linux-gitian.zip
https://bitbucket.org/JordanLeePeershares/bcexchange/downloads/bcexchange-5.0.3-win-gitian.zip
sha256sums:
66df288cf2b830e4e9afaec62aed6eecbf5cea5331e8acca77fb9865e346c606 bcexchange-5.0.3-linux-gitian.zip
a72a1f106cd7cc3991f7cc28edeaa8c24abf2503a8c7d40066e42f4de0ac6041 bcexchange-5.0.3-win-gitian.zip
c0df75b39de860cd6d2eec819550914e2951ee14a71b8cb57aa68497925a9d28 bin/32/bcexchange
a016c4a6b764dd27a43ec2b80d1459d36666d9cbda1b84e8efe65d958ac0c195 bin/32/bcexchanged
77cdc6d34b4c5ad8d4c3b9c7e969c447c0e124c57e4b0736a0a42170ef7b9ec4 bin/64/bcexchange
1609121ed421223f0871fe8a13c16af27497658200277e0ee4a4b0a2f82e8ff9 bin/64/bcexchanged
8bf18555feb7f8fdf636121e26e1a7275fcc964d1086c5f9a3859ad42758947d 32/BCExchange-5.0.3-win-setup.exe
456552da3f724655f2555e70c661d011a7dbf968dca84425c8b5c2279c7f2c15 32/bcexchange.exe
0f1d972c0b4bb65381c9d7900a45115151f2f60c10496324c37fffe6c491d761 32/bcexchanged.exe
dc018f9af65aa117790b4c4841c760fca82f78b4180daa4496190b10051450e1 64/BCExchange-5.0.3-win-setup.exe
b488219e3054259bfb314f87ca8239a4eade0cdf2be3893f1ae8704467da1843 64/bcexchange.exe
509e75d1b7940dee3834d8f7c97fba17f541d6a6ec4dc2e5ea31e4dfd4425a61 64/bcexchanged.exe
Stable?
will try to upgradr this week.
looks good for now
This is a good update, usually before this version, it cost me quite a long time to launch the application finishing the sync, but now it’s swift.
Did you figure out how to build for macOS?
Not yet, I think the main problem is berkeley DB on Mac, it seems apple use their own crypto library, and brew canno use DB 4.8 as default. I’ll spend time to investigate it.
@sigmike, how about change block time to 10 minutes and 10X reward? To reduce the blockchain size. And in future we can start “off chain”/“high performance” transaction.
It seems to have been solved in other coins. Found a post on GitHub with links that may be helpful.
I got past some errors using makefile.osx
(pre-Mavericks) with some modifications, but think I got stuck on a variation of “symbols for architecture x86_64” at another place. makefile.osx-mavericks
refers to ppcoin
and may be outdated in other ways. I used Pkgsrc for dependencies (boost db4 openssl miniupnpc), though had to add /miniupnpc
from https://github.com/miniupnp/miniupnp in nubit/src
. Then discovered USE_UPNP=-
which fails for another reason somewhere.
For what some error messages may be worth, I saved these. I don’t remember what specifically I did to get there, and they’re not of the first attempts. Notice CXX=clang++
.
make -f makefile.osx RELEASE=true 64BIT=true CXX=clang++ USE_UPNP=-
/bin/sh …/share/genbuild.sh obj/build.h
clang++ -mmacosx-version-min=10.6 -O3 -arch x86_64 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE -DUSE_IPV6=1 -I/Users/Esko/Projects/Nu/Source/nubit/src/leveldb/include -I/Users/Esko/Projects/Nu/Source/nubit/src/leveldb/helpers -DHAVE_BUILD_INFO -I"/Users/Esko/Projects/Nu/Source/nubit/src" -I"/Users/Esko/Projects/Nu/Source/nubit/src"/obj -I"/opt/pkg/include" -I"/opt/pkg/include/db4" -o nud -L"/opt/pkg/lib" obj/scanbalance.o leveldb/libleveldb.a obj/alert.o obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/rpcnet.o obj/rpcmining.o obj/rpcwallet.o obj/rpcblockchain.o obj/rpcrawtransaction.o obj/rpcdividend.o obj/rpcliquidity.o obj/rpcpark.o obj/rpcvote.o obj/rpctest.o obj/script.o obj/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/kernel.o obj/checkpointsync.o obj/hash.o obj/bloom.o obj/noui.o obj/leveldb.o obj/txdb.o obj/distribution.o obj/vote.o obj/liquidityinfo.o obj/datafeed.o obj/blockmap.o -dead_strip -ldb4_cxx-4.8 -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -lssl -lcrypto -lz -l curl /Users/Esko/Projects/Nu/Source/nubit/src/leveldb/libleveldb.a /Users/Esko/Projects/Nu/Source/nubit/src/leveldb/libmemenv.a
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
Undefined symbols for architecture x86_64:
“boost::program_options::to_internal(std::string const&)”, referenced from:
boost::program_options::detail::basic_config_file_iterator::getline(std::string&) in util.o
"boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::string, std::lessstd::string, std::allocatorstd::string > const&, bool)", referenced from:
boost::program_options::detail::basic_config_file_iterator::basic_config_file_iterator(std::istream&, std::set<std::string, std::lessstd::string, std::allocatorstd::string > const&, bool) in util.o
"Db::verify(char const*, char const*, std::ostream*, unsigned int)", referenced from:
CDBEnv::Verify(std::string, bool (*)(CDBEnv&, std::string)) in db.o
CDBEnv::Salvage(std::string, bool, std::vector<std::pair<std::vector<unsigned char, std::allocator >, std::vector<unsigned char, std::allocator > >, std::allocator<std::pair<std::vector<unsigned char, std::allocator >, std::vector<unsigned char, std::allocator > > > >&) in db.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [nud] Error 1
make -f makefile.osx-mavericks RELEASE=true 64BIT=true CXX=clang++ USE_UPNP=-
/bin/sh …/share/genbuild.sh obj/build.h
clang++ -mmacosx-version-min=10.9 -O3 -arch x86_64 -w -Wextra -Wno-sign-compare -Wno-invalid-offsetof -Wformat-security -DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=- -I/Users/Esko/Projects/Nu/Source/nubit/src/leveldb/include -I/Users/Esko/Projects/Nu/Source/nubit/src/leveldb/helpers -DHAVE_BUILD_INFO -I"/Users/Esko/Projects/Nu/Source/nubit/src" -I"/Users/Esko/Projects/Nu/Source/nubit/src/obj" -I"/opt/pkg/include" -I"/opt/pkg/include/db4" -o ppcoind -L"/lib" obj/scanbalance.o leveldb/libleveldb.a obj/alert.o obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/rpcnet.o obj/rpcmining.o obj/rpcwallet.o obj/rpcblockchain.o obj/rpcrawtransaction.o obj/rpcdividend.o obj/rpcliquidity.o obj/rpcpark.o obj/rpcvote.o obj/rpctest.o obj/script.o obj/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/kernel.o obj/checkpointsync.o obj/hash.o obj/bloom.o obj/noui.o obj/leveldb.o obj/txdb.o obj/distribution.o obj/vote.o obj/liquidityinfo.o obj/datafeed.o obj/blockmap.o -dead_strip -ldb4_cxx-4.8 -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -lssl -lcrypto -lz -l curl -lminiupnpc /Users/Esko/Projects/Nu/Source/nubit/src/leveldb/libleveldb.a /Users/Esko/Projects/Nu/Source/nubit/src/leveldb/libmemenv.a
ld: library not found for -ldb4_cxx-4.8
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ppcoind] Error 1
Has anyone built Nu on Mavericks or later? I’m on Sierra. @backpacker, how do you build it?
It seems openssl and berkeley-db4 have same issue on MacOS(Sierra).
Pouring openssl-1.0.2k.sierra.bottle.tar.gz
==> Using the sandbox
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
This formula is keg-only, which means it was not symlinked into /usr/local.
Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries
If you need to have this software first in your PATH run:
echo ‘export PATH="/usr/local/opt/openssl/bin:$PATH"’ >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
==> Summary
/usr/local/Cellar/openssl/1.0.2k: 1,696 files, 12M
alos Qt5 same problem
Updating Homebrew…
==> Downloading https://homebrew.bintray.com/bottles/qt5-5.8.0_1.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring qt5-5.8.0_1.sierra.bottle.tar.gz
==> Caveats
We agreed to the Qt opensource license for you.
If this is unacceptable you should uninstall.
This formula is keg-only, which means it was not symlinked into /usr/local.
Qt 5 has CMake issues when linked
If you need to have this software first in your PATH run:
echo ‘export PATH="/usr/local/opt/qt5/bin:$PATH"’ >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/qt5/lib
CPPFLAGS: -I/usr/local/opt/qt5/include
For pkg-config to find this software you may need to set:
PKG_CONFIG_PATH: /usr/local/opt/qt5/lib/pkgconfig
Although the “issues” above, I sucessfully compiled the bitcoind! As per https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md
That would indeed reduce the (future) blockchain size, and also the memory usage. Changing that should not be very difficult.
Do you agree to make such change? Or do you need a motion to pass?
A motion is absolutely needed. It’s not difficult to do but it’s an important protocol change that will require everyone to upgrade.