[Dev] Release Candidate Feathercoin 0.9.3.2 - Check List
-
If anyone wants to replicate
On a fresh Ubuntu 16.04 LTS with the usual things like git and all installed…
Below are my notes… @wrapper :-) Next ?
###Make working directory mkdir FTC0932 cd FTC0932 ## Download Feathercoin (my clone includes a copy of some of the zxing files...which you will see is useless!!!) git clone https://github.com/aciddude/Feathercoin.git -b 0.9.3.2 cd Feathercoin/ # Install dependancies (some of these are repeats) sudo apt-get update yes | sudo apt-get install autoconf automake debhelper dh-autoreconf yes | sudo apt-get install qtbase5-dev qttools5-dev-tools yes | sudo apt-get install libqt5printsupport5 libqt5opengl5-dev yes | sudo apt-get install libqjson-dev yes | sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 yes | sudo apt-get install libssl-dev yes | sudo apt-get install libqrencode3 libqrencode-dev pkg-config libprotobuf-dev protobuf-compiler yes | sudo apt-get install libqrencode-dev pkg-config libprotobuf-dev yes | sudo apt-get install debhelper yes | sudo apt-get install libboost-all-dev yes | sudo apt-get install libmessaging-menu-dev yes | sudo apt-get install libdb5.3-dev yes | sudo apt-get install libdb5.3++-dev ### Compile zxing ###SNEAKY!!! I've included zxing in my Feathercoin/src/ folder...but when i checked the config log on my first build that worked but no qrqodes showed up... checking whether to build GUI with support for D-Bus... yes checking whether to build GUI with support for QR codes... no << Mr.President...What the Hell? ######During the zxing install you'll see it installs these two files # # Installing: /usr/local/bin/zxing # Installing: /usr/local/lib/libzxing.a # # So the configure file or something looks for thoes and cant find them and then QR codes part doesnt build... ### Build Zxing cd ../.. pwd /home/aciddude yes | sudo apt-get install cmake mkdir zxing && cd zxing git clone https://github.com/glassechidna/zxing-cpp.git cd zxing-cpp/ ls mkdir build cd build/ export CXXFLAGS="-fPIC" ##verify by running env env "CXXFLAGS=-fPIC MAIL=/var/mail/aciddude" ### continue with the zxing build cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. make && sudo make install ### You then need to go and edit the LuminanceSource.h file in /usr/local/include/zxing and change line 30 to "public:" *instead of private* if you dont do this FTC will throw an error on compile.. ##Compile this thang! #####Get back to FTC working directory cd ~/FTC0932/Feathercoin/ autoupdate ./autogen.sh ./configure --with-gui=qt5 --enable-tests=no --with-incompatible-bdb --with-qrcode=yes ### At this point you should have a sucessfull config log showing QT will be built with QR code support. ## Continue with the make and cross your fingers make # BOOM! sudo make install feathercoin-qt
-
I’m not sure , if source forge is a step forward. It more or less jas the same functions as github, but with less tools to create and merge branches. I don’t see any advantagfe here. Icd prefer to continue the current way of creating installation packages for the Linux binaries from github and we can add the windows bimaries to the release versions on github for download.
Very important is, that we point to the release section on github and not to the branches directly.
https://github.com/FeatherCoin/Feathercoin/releases -
@Lizhi @Aciddude @MrWyrm @uncle_muddy
@Wellenreiter SourceForge is complementary to the Github service, it can stores the official Windows and MAC Binaries. We will not be using the other Sourceforge facilities, only the FREE download service to open source projects.
This will also help enforce a simple release procedure and clearly mark, development and stable versions of the wallet, especially as procedures to help others get involved and make sure releases go right.
Github holds the official source code
OpenSuse holds the official Linux builds
SourceForge Official Windows Mac etc Binary buildsWe also have :
Feathercoin Name for OpenSuse
use : Would make official builds more obvious and easy to find
workload : would reduce forum link update need in future, more work for Wellenreiter short termFeathercoin Name for Launchpad
use : Would auto buld Ubuntu, and lead to be software centre, also auto build cross platform snapsnap packages
workload, minimal, OpenSuse is main build mirrors thatI’ll pass on those registrations to a Staff group, so a team can maintain them and spread the work. Mostly is updating at releases, which is worth the effort just for the publicity.
-
@Aciddude Thanks for the massive amount of work, just getting the builds working.
You asked what next?, there a couple of build issues / warnings to look into
-
Try turning the tests on and see what the situation is with those, why they arn’t working.
-
Get some more screen shots, (with the improved GUI) of examples and how to use to add to the Wallet guide, to add to 0.9.3.3 / next release, now we can compile it. (awaiting re-base to push to github, shows Test message currently)
-
Find where the overview and menu background colour is set, to correct for background image inconsistency.
-
static CBlockIndex* pblockindexFBBHLast; unused - testing removed from main.cpp
-
I couldn’t just delete some unused variables as they were used else where, possibly a revers public to private variable problem, to investigate…
main.h:130:20: warning: ‘OPENNAME_NAME_PREORDER’ defined but not used [-Wunused-variable]
static const char* OPENNAME_NAME_PREORDER=“a”;
^
main.h:131:20: warning: ‘OPENNAME_NAME_REGISTRATION’ defined but not used [-Wunused-variable]
static const char* OPENNAME_NAME_REGISTRATION=“b”;
^
main.h:132:20: warning: ‘OPENNAME_NAME_UPDATE’ defined but not used [-Wunused-variable]
static const char* OPENNAME_NAME_UPDATE=“c”;
^
main.h:133:20: warning: ‘OPENNAME_NAME_TRANSFER’ defined but not used [-Wunused-variable]
static const char* OPENNAME_NAME_TRANSFER=“d”;
^
main.h:134:20: warning: ‘OPENNAME_NAME_RENEWAL’ defined but not used [-Wunused-variable]
static const char* OPENNAME_NAME_RENEWAL=“e”;walletview.cpp: In member function ‘void WalletView::importWallet(QString)’:
walletview.cpp:351:10: warning: unused variable ‘b’ [-Wunused-variable]
bool b =walletModel->importPrivateKey(privateKey);transactiondesc.cpp: In static member function ‘static QString TransactionDesc::toHTML(CWallet*, CWalletTx&, int, int)’:
transactiondesc.cpp:228:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int k = 0; k < wtx.vout.size(); ++k)
-
-
@wrapper said:
@Aciddude Thanks for the massive amount of work, just getting the builds working.
You asked what next?, there a couple of build issues / warnings to look into
- Try turning the tests on and see what the situation is with those, why they arn’t working.
- Find where the overview and menu background colour is set, to correct for background image inconsistency.
I’ll attempt to tackle Number 1 and Number 3.
-
Building with tests on i’m getting very similar errors to this:
https://github.com/dogecoin/dogecoin/issues/377it looks like they fixed it… below is my console log
make all-am make[1]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/qt/test' CXXLD test_bitcoin-qt ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AddCScript(CScript const&)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:154: undefined reference to `CBasicKeyStore::AddCScript(CScript const&)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::ReacceptWalletTransactions()': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:988: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::ReacceptWalletTransactions()': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1000: undefined reference to `mempool' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1001: undefined reference to `CMerkleTx::AcceptToMemoryPool(bool)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetImmatureBalance() const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1114: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWalletTx::GetImmatureCredit(bool) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.h:686: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::IsInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:544: undefined reference to `CMerkleTx::GetDepthInMainChainINTERNAL(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetBalance() const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1083: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetUnconfirmedBalance() const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1099: undefined reference to `cs_main' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1103: undefined reference to `IsFinalTx(CTransaction const&, int, long)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AvailableCoins(std::vector<COutput, std::allocator<COutput> >&, bool, CCoinControl const*) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1130: undefined reference to `cs_main' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1136: undefined reference to `IsFinalTx(CTransaction const&, int, long)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AvailableCoins(std::vector<COutput, std::allocator<COutput> >&, bool, CCoinControl const*) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1142: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AddReserveKey(CKeyPool const&)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2489: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::ResendWalletTransactions()': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1042: undefined reference to `nTimeBestReceived' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::LoadCScript(CScript const&)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:210: undefined reference to `CBasicKeyStore::AddCScript(CScript const&)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CTransaction::IsFinal(int, long long) const': /home/aciddude/FTC0932/Feathercoin/src/core.h:251: undefined reference to `nBestHeight' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AvailableSharedCoins(std::vector<COutput, std::allocator<COutput> >&, bool, CCoinControl const*) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:3146: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetAllReserveKeys(std::set<CKeyID, std::less<CKeyID>, std::allocator<CKeyID> >&) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2742: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetKeyBirthTimes(std::map<CKeyID, long, std::less<CKeyID>, std::allocator<std::pair<CKeyID const, long> > >&) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2808: undefined reference to `chainActive' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2832: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `std::_Rb_tree<uint256, std::pair<uint256 const, CBlockIndex*>, std::_Select1st<std::pair<uint256 const, CBlockIndex*> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::find(uint256 const&)': /usr/include/c++/5/bits/stl_tree.h:2298: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CChain::operator[](int) const': /home/aciddude/FTC0932/Feathercoin/src/main.h:1102: undefined reference to `chainActive' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AddToWallet(CWalletTx const&, bool)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:602: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `std::_Rb_tree<uint256, std::pair<uint256 const, CBlockIndex*>, std::_Select1st<std::pair<uint256 const, CBlockIndex*> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::find(uint256 const&) const': /usr/include/c++/5/bits/stl_tree.h:2311: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `std::__cxx11::_List_base<CAccountingEntry, std::allocator<CAccountingEntry> >::~_List_base()': /usr/include/c++/5/bits/stl_list.h:446: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `std::map<uint256, CBlockIndex*, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::operator[](uint256 const&)': /usr/include/c++/5/bits/stl_map.h:481: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o): In function `std::_Rb_tree_iterator<std::pair<uint256 const, CBlockIndex*> > std::_Rb_tree<uint256, std::pair<uint256 const, CBlockIndex*>, std::_Select1st<std::pair<uint256 const, CBlockIndex*> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::_M_insert_unique_<std::_Rb_tree<uint256, std::pair<uint256 const, CBlockIndex*>, std::_Select1st<std::pair<uint256 const, CBlockIndex*> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<uint256 const, CBlockIndex*> >, std::pair<uint256 const, CBlockIndex*> const&, std::_Rb_tree<uint256, std::pair<uint256 const, CBlockIndex*>, std::_Select1st<std::pair<uint256 const, CBlockIndex*> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CBlockIndex*> > >::_Alloc_node&)': /usr/include/c++/5/bits/stl_tree.h:1973: undefined reference to `mapBlockIndex' ../../../src/libbitcoin_wallet.a(wallet.o):/usr/include/c++/5/bits/stl_tree.h:1507: more undefined references to `mapBlockIndex' follow ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::CreateTransaction(std::vector<std::pair<CScript, long>, std::allocator<std::pair<CScript, long> > > const&, CWalletTx&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const*)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1349: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::CreateTransaction(std::vector<std::pair<CScript, long>, std::allocator<std::pair<CScript, long> > > const&, CWalletTx&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const*)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1394: undefined reference to `CTransaction::nMinTxFee' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:1493: undefined reference to `GetMinFee(CTransaction const&, unsigned int, bool, GetMinFee_mode)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::AddToWalletIfInvolvingMe(uint256 const&, CTransaction const&, CBlock const*, bool)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:716: undefined reference to `CMerkleTx::SetMerkleBranch(CBlock const*)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::SyncTransaction(uint256 const&, CTransaction const&, CBlock const*)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:725: undefined reference to `cs_main' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::ScanForWalletTransactions(CBlockIndex*, bool)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:953: undefined reference to `cs_main' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:953: undefined reference to `chainActive' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:961: undefined reference to `Checkpoints::GuessVerificationProgress(CBlockIndex*, bool)' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:961: undefined reference to `chainActive' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:962: undefined reference to `Checkpoints::GuessVerificationProgress(CBlockIndex*, bool)' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:966: undefined reference to `Checkpoints::GuessVerificationProgress(CBlockIndex*, bool)' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:969: undefined reference to `ReadBlockFromDisk(CBlock&, CBlockIndex const*)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CChain::operator[](int) const': /home/aciddude/FTC0932/Feathercoin/src/main.h:1102: undefined reference to `chainActive' /home/aciddude/FTC0932/Feathercoin/src/main.h:1102: undefined reference to `chainActive' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::ScanForWalletTransactions(CBlockIndex*, bool)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:978: undefined reference to `Checkpoints::GuessVerificationProgress(CBlockIndex*, bool)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::CommitTransaction(CWalletTx&, CReserveKey&)': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2184: undefined reference to `cs_main' /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2218: undefined reference to `CMerkleTx::AcceptToMemoryPool(bool)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetAddressBalances()': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2562: undefined reference to `IsFinalTx(CTransaction const&, int, long)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWallet::GetAddressBalances()': /home/aciddude/FTC0932/Feathercoin/src/wallet.cpp:2565: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWalletTx::GetSharedAvailableCredit(bool) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.h:836: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CTransaction::IsFinal(int, long long) const': /home/aciddude/FTC0932/Feathercoin/src/core.h:251: undefined reference to `nBestHeight' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CBasicKeyStore::~CBasicKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:56: undefined reference to `vtable for CBasicKeyStore' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CKeyStore::~CKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CBasicKeyStore::~CBasicKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:56: undefined reference to `vtable for CBasicKeyStore' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CKeyStore::~CKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWalletTx::IsTrusted() const': /home/aciddude/FTC0932/Feathercoin/src/wallet.h:795: undefined reference to `IsFinalTx(CTransaction const&, int, long)' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CWalletTx::GetAvailableCredit(bool) const': /home/aciddude/FTC0932/Feathercoin/src/wallet.h:704: undefined reference to `CMerkleTx::GetBlocksToMaturity() const' ../../../src/libbitcoin_wallet.a(wallet.o): In function `CMerkleTx::GetDepthInMainChain() const': /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' /home/aciddude/FTC0932/Feathercoin/src/main.h:541: undefined reference to `CMerkleTx::GetDepthInMainChain(CBlockIndex*&) const' ../../../src/libbitcoin_wallet.a(wallet.o):(.data.rel.ro._ZTV7CWallet[_ZTV7CWallet]+0x50): undefined reference to `CBasicKeyStore::HaveCScript(CScriptID const&) const' ../../../src/libbitcoin_wallet.a(wallet.o):(.data.rel.ro._ZTV7CWallet[_ZTV7CWallet]+0x58): undefined reference to `CBasicKeyStore::GetCScript(CScriptID const&, CScript&) const' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `ReadKeyValue(CWallet*, CDataStream&, CDataStream&, CWalletScanState&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)': /home/aciddude/FTC0932/Feathercoin/src/walletdb.cpp:356: undefined reference to `CheckTransaction(CTransaction const&, CValidationState&)' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `CBasicKeyStore::~CBasicKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:56: undefined reference to `vtable for CBasicKeyStore' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `CKeyStore::~CKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `CBasicKeyStore::~CBasicKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:56: undefined reference to `vtable for CBasicKeyStore' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `CKeyStore::~CKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' /home/aciddude/FTC0932/Feathercoin/src/keystore.h:23: undefined reference to `vtable for CKeyStore' ../../../src/libbitcoin_wallet.a(walletdb.o): In function `CKeyStore::CKeyStore()': /home/aciddude/FTC0932/Feathercoin/src/keystore.h:17: undefined reference to `vtable for CKeyStore' ../../../src/libbitcoin_wallet.a(crypter.o): In function `CCryptoKeyStore::GetPubKey(CKeyID const&, CPubKey&) const': /home/aciddude/FTC0932/Feathercoin/src/crypter.cpp:257: undefined reference to `CKeyStore::GetPubKey(CKeyID const&, CPubKey&) const' ../../../src/libbitcoin_wallet.a(crypter.o): In function `CCryptoKeyStore::AddKey(CKey const&)': /home/aciddude/FTC0932/Feathercoin/src/crypter.cpp:192: undefined reference to `CBasicKeyStore::AddKey(CKey const&)' ../../../src/libbitcoin_wallet.a(crypter.o):(.data.rel.ro._ZTI15CCryptoKeyStore[_ZTI15CCryptoKeyStore]+0x10): undefined reference to `typeinfo for CBasicKeyStore' ../../../src/libbitcoin_wallet.a(crypter.o):(.data.rel.ro._ZTV15CCryptoKeyStore[_ZTV15CCryptoKeyStore]+0x48): undefined reference to `CBasicKeyStore::AddCScript(CScript const&)' ../../../src/libbitcoin_wallet.a(crypter.o):(.data.rel.ro._ZTV15CCryptoKeyStore[_ZTV15CCryptoKeyStore]+0x50): undefined reference to `CBasicKeyStore::HaveCScript(CScriptID const&) const' ../../../src/libbitcoin_wallet.a(crypter.o):(.data.rel.ro._ZTV15CCryptoKeyStore[_ZTV15CCryptoKeyStore]+0x58): undefined reference to `CBasicKeyStore::GetCScript(CScriptID const&, CScript&) const' collect2: error: ld returned 1 exit status Makefile:735: recipe for target 'test_bitcoin-qt' failed make[1]: *** [test_bitcoin-qt] Error 1 make[1]: Leaving directory '/home/aciddude/FTC0932/Feathercoin/src/qt/test' Makefile:657: recipe for target 'all' failed make: *** [all] Error 2 aciddude@ftcubuntu:~/FTC0932/Feathercoin/src/qt/test$
-
Locally I did what the dogecoin people did here:
https://github.com/dogecoin/dogecoin/pull/386/filesI then ran a
make clean make
now it get’s past the above error and goes further down the compile…I’m now presented with this
Making all in test make[3]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' Generated data/script_valid.json.h Generated data/base58_keys_valid.json.h Generated data/sig_canonical.json.h Generated data/sig_noncanonical.json.h Generated data/base58_encode_decode.json.h Generated data/base58_keys_invalid.json.h Generated data/script_invalid.json.h Generated data/tx_invalid.json.h Generated data/tx_valid.json.h Generated data/sighash.json.h Generated data/alertTests.raw.h make all-am make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' CXX test_bitcoin-alert_tests.o CXX test_bitcoin-allocator_tests.o CXX test_bitcoin-base32_tests.o CXX test_bitcoin-base58_tests.o base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_parse::test_method()’: base58_tests.cpp:155:35: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’ CKey privkey = secret.GetKey(); ^ In file included from /usr/include/boost/test/unit_test.hpp:19:0, from base58_tests.cpp:17: base58_tests.cpp:157:41: error: ‘class CKey’ has no member named ‘size’ BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin()), "key mismatch:" + strTest) ^ base58_tests.cpp:157:92: error: ‘class CKey’ has no member named ‘begin’ BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin()), "key mismatch:" + strTest) ^ base58_tests.cpp:157:109: error: ‘class CKey’ has no member named ‘end’ BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin()), "key mismatch:" + strTest) ^ base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_gen::test_method()’: base58_tests.cpp:208:17: error: ‘class CKey’ has no member named ‘Set’ key.Set(exp_payload.begin(), exp_payload.end(), isCompressed); ^ base58_tests.cpp:211:20: error: ‘class CBitcoinSecret’ has no member named ‘SetKey’ secret.SetKey(key); ^ In file included from /usr/include/boost/test/unit_test.hpp:19:0, from base58_tests.cpp:17: base58_tests.cpp:236:85: error: ‘CBitcoinAddressVisitor’ was not declared in this scope BOOST_CHECK_MESSAGE(boost::apply_visitor(CBitcoinAddressVisitor(&addrOut), dest), "encode dest: " + strTest); ^ base58_tests.cpp:244:72: error: ‘CBitcoinAddressVisitor’ was not declared in this scope BOOST_CHECK(!boost::apply_visitor(CBitcoinAddressVisitor(&dummyAddr), nodest)); ^ In file included from /usr/include/boost/variant.hpp:17:0, from ../../src/script.h:19, from ../../src/base58.h:19, from base58_tests.cpp:5: /usr/include/boost/variant/variant.hpp: In instantiation of ‘boost::detail::variant::invoke_visitor<Visitor>::result_type boost::detail::variant::invoke_visitor<Visitor>::internal_visit(T&, int) [with T = CStealthAddress; Visitor = const base58_tests::TestAddrTypeVisitor; boost::detail::variant::invoke_visitor<Visitor>::result_type = bool]’: /usr/include/boost/variant/detail/visitation_impl.hpp:114:9: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invoke_impl(int, Visitor&, VoidPtrCV, T*, mpl_::true_) [with Visitor = boost::detail::variant::invoke_visitor<const base58_tests::TestAddrTypeVisitor>; VoidPtrCV = void*; T = CStealthAddress; typename Visitor::result_type = bool; mpl_::true_ = mpl_::bool_<true>]’ /usr/include/boost/variant/detail/visitation_impl.hpp:154:41: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invoke(int, Visitor&, VoidPtrCV, T*, NoBackupFlag, int) [with Visitor = boost::detail::variant::invoke_visitor<const base58_tests::TestAddrTypeVisitor>; VoidPtrCV = void*; T = CStealthAddress; NoBackupFlag = boost::variant<CNoDestination, CKeyID, CScriptID, CStealthAddress>::has_fallback_type_; typename Visitor::result_type = bool]’ /usr/include/boost/variant/detail/visitation_impl.hpp:238:5: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl(int, int, Visitor&, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = mpl_::int_<0>; step0 = boost::detail::variant::visitation_impl_step<boost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<4l>, CNoDestination, boost::mpl::l_item<mpl_::long_<3l>, CKeyID, boost::mpl::l_item<mpl_::long_<2l>, CScriptID, boost::mpl::l_item<mpl_::long_<1l>, CStealthAddress, boost::mpl::l_end> > > > >, boost::mpl::l_iter<boost::mpl::l_end> >; Visitor = boost::detail::variant::invoke_visitor<const base58_tests::TestAddrTypeVisitor>; VoidPtrCV = void*; NoBackupFlag = boost::variant<CNoDestination, CKeyID, CScriptID, CStealthAddress>::has_fallback_type_; typename Visitor::result_type = bool; mpl_::false_ = mpl_::bool_<false>]’ /usr/include/boost/variant/variant.hpp:2318:48: required from ‘static typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::detail::variant::invoke_visitor<const base58_tests::TestAddrTypeVisitor>; VoidPtrCV = void*; T0_ = CNoDestination; T1 = CKeyID; T2 = CScriptID; T3 = CStealthAddress; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = bool]’ /usr/include/boost/variant/variant.hpp:2332:43: required from ‘typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::internal_apply_visitor(Visitor&) [with Visitor = boost::detail::variant::invoke_visitor<const base58_tests::TestAddrTypeVisitor>; T0_ = CNoDestination; T1 = CKeyID; T2 = CScriptID; T3 = CStealthAddress; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = bool]’ /usr/include/boost/variant/variant.hpp:2357:52: required from ‘typename Visitor::result_type boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>::apply_visitor(Visitor&) [with Visitor = const base58_tests::TestAddrTypeVisitor; T0_ = CNoDestination; T1 = CKeyID; T2 = CScriptID; T3 = CStealthAddress; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_; typename Visitor::result_type = bool]’ /usr/include/boost/variant/detail/apply_visitor_unary.hpp:84:43: required from ‘typename Visitor::result_type boost::apply_visitor(const Visitor&, Visitable&) [with Visitor = base58_tests::TestAddrTypeVisitor; Visitable = boost::variant<CNoDestination, CKeyID, CScriptID, CStealthAddress>; typename Visitor::result_type = bool]’ base58_tests.cpp:171:13: required from here /usr/include/boost/variant/variant.hpp:978:24: error: no match for call to ‘(const base58_tests::TestAddrTypeVisitor) (CStealthAddress&)’ return visitor_(operand); ^ base58_tests.cpp:85:10: note: candidate: bool base58_tests::TestAddrTypeVisitor::operator()(const CKeyID&) const bool operator()(const CKeyID &id) const ^ base58_tests.cpp:85:10: note: no known conversion for argument 1 from ‘CStealthAddress’ to ‘const CKeyID&’ base58_tests.cpp:89:10: note: candidate: bool base58_tests::TestAddrTypeVisitor::operator()(const CScriptID&) const bool operator()(const CScriptID &id) const ^ base58_tests.cpp:89:10: note: no known conversion for argument 1 from ‘CStealthAddress’ to ‘const CScriptID&’ base58_tests.cpp:93:10: note: candidate: bool base58_tests::TestAddrTypeVisitor::operator()(const CNoDestination&) const bool operator()(const CNoDestination &no) const ^ base58_tests.cpp:93:10: note: no known conversion for argument 1 from ‘CStealthAddress’ to ‘const CNoDestination&’ Makefile:891: recipe for target 'test_bitcoin-base58_tests.o' failed make[4]: *** [test_bitcoin-base58_tests.o] Error 1 make[4]: Leaving directory '/home/aciddude/FTC0932/Feathercoin/src/test' Makefile:711: recipe for target 'all' failed make[3]: *** [all] Error 2 make[3]: Leaving directory '/home/aciddude/FTC0932/Feathercoin/src/test' Makefile:943: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/aciddude/FTC0932/Feathercoin/src' Makefile:692: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/home/aciddude/FTC0932/Feathercoin/src' Makefile:511: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 aciddude@ftcubuntu:~/FTC0932/Feathercoin$
-
I have tried everything I can in my limited GUI experience to change the background colour to the Feathercoin wallet. The gray behind the menus is to dark and it does not match with the graduated background image, it needs to be light gray.
https://github.com/FeatherCoin/Feathercoin/tree/0.9.3.2/src/qt
main.cpp is the wallet screen
and in https://github.com/FeatherCoin/Feathercoin/tree/0.9.3.2/src/qt/forms
overviewpage.ui
-
@aciddude the class named of some classes have changed and the definitions in the test directory haven’t updated.
I have checked:
base58_tests.cpp:155:35: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’
CKey privkey = secret.GetKey();secret.GetKey() now is secret.GetSecret()
base58_tests.cpp:157:41: error: ‘class CKey’ has no member named ‘size’
BOOST_CHECK_MESSAGE(privkeBOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())y.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())…privkey now must be of type CPrivKey and not Ckey anymore
To solve the first problem above I’ve searched for ‘secret.’ in all files and compared the definitions and checked the names of the procedures
-
Re: Building Feathercoin 0.9.3.2
The amount of warnings is reduced considerably during the build. I am awaiting @Wellenreiter to push the fix for the open names warnings, he has moved the declarations into UtilitiesDialog.cpp.
These warnings aren’t fixed, are due to comparisons between signed and unsigned integers (during Loops), can cause bugs at bounds : requires the loops variables to be slightly re- witten …
multisigdialog.cpp: In member function ‘void MultiSigDialog::createRawTransaction()’:
multisigdialog.cpp:186:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for ( int i = 0; i < vOutpoints.size(); ++ i )
^
multisigdialog.cpp: In member function ‘void MultiSigDialog::updateAddressList()’:
multisigdialog.cpp:754:32: warning: unused variable ‘strName’ [-Wunused-variable]
const std::string& strName = item.second.name;
^
multisigdialog.cpp: In member function ‘void MultiSigDialog::updateAddressDetail()’:
multisigdialog.cpp:835:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for ( i = 0; i < addresses.size(); ++ i )
^
multisigdialog.cpp:839:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for ( i = 0; i < addresses.size(); ++ i )
^
multisigdialog.cpp: In member function ‘void MultiSigDialog::checkRawTransaction()’:
multisigdialog.cpp:905:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for ( int i = 0; i < containAddresses.size(); ++ i )createmultisigaddrdialog.cpp: In member function ‘void CreateMultiSigAddrDialog::create()’:
createmultisigaddrdialog.cpp:78:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (unsigned int i = 0; i < total; i++)transactiondesc.cpp: In static member function ‘static QString TransactionDesc::toHTML(CWallet*, CWalletTx&, int, int)’:
transactiondesc.cpp:228:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int k = 0; k < wtx.vout.size(); ++k)Warning needs investigation
/home/tony/Feathercoin/src/qt/forms/shiftdialog.ui: Warning: The name ‘horizontalLayout_1_Wallet’ (QHBoxLayout) is already in use, defaulting to ‘horizontalLayout_1_Wallet1’.
I had to leave these warnings in as they are in contained sub Libraries
util/bloom.cc:50:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (size_t i = 0; i < n; i++) {db/memtable.cc:104:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
assert((p + val_size) - buf == encoded_len);util/logging.cc:67:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
(v == kMaxUint64/10 && delta > kMaxUint64%10)) {db/version_set.cc:58:13: warning: ‘std::__cxx11::string leveldb::{anonymous}::IntSetToString(const std::set<long unsigned int>&)’ defined but not used [-Wunused-function]
inlevel db -
@Wellenreiter said:
@aciddude the class named of some classes have changed and the definitions in the test directory haven’t updated.
I have checked:
base58_tests.cpp:155:35: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’
CKey privkey = secret.GetKey();secret.GetKey() now is secret.GetSecret()
base58_tests.cpp:157:41: error: ‘class CKey’ has no member named ‘size’
BOOST_CHECK_MESSAGE(privkeBOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())y.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())…privkey now must be of type CPrivKey and not Ckey anymore
To solve the first problem above I’ve searched for ‘secret.’ in all files and compared the definitions and checked the names of the procedures
Ok so now line 155 on base58_tests.cpp I’ve changed it to read:
CPrivKey privkey = secret.GetSecret();
make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' CXX test_bitcoin-base58_tests.o base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_parse::test_method()’: base58_tests.cpp:155:49: error: no matching function for call to ‘CBitcoinSecret::GetSecret()’ CPrivKey privkey = secret.GetSecret(); ^ In file included from base58_tests.cpp:5:0: ../../src/base58.h:130:13: note: candidate: CSecret CBitcoinSecret::GetSecret(bool&) CSecret GetSecret(bool &fCompressedOut); ^
ideas ?
-
Thanxs @Aciddude
I note this Test failure is something to do with stealth addressesThey are a new feature : We need ask @Lizhi if he can help
I’m nearly ready to push the Test fixes you found so far, so he can just pull 0.9.3.2 and see where we got to…
Meanwhile try to bypass that test and see the rest pass…
-
In my previous post it wasnt getting past this test…
BOOST_AUTO_TEST_CASE(base58_keys_valid_parse)I’ve managed to move past this
Currently I’m getting this error;This is on the test
BOOST_AUTO_TEST_CASE(base58_keys_valid_gen) (next one in base58_tests) -
@aciddude said:
@Wellenreiter said:
@aciddude the class named of some classes have changed and the definitions in the test directory haven’t updated.
I have checked:
base58_tests.cpp:155:35: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’
CKey privkey = secret.GetKey();secret.GetKey() now is secret.GetSecret()
base58_tests.cpp:157:41: error: ‘class CKey’ has no member named ‘size’
BOOST_CHECK_MESSAGE(privkeBOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())y.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())…privkey now must be of type CPrivKey and not Ckey anymore
To solve the first problem above I’ve searched for ‘secret.’ in all files and compared the definitions and checked the names of the procedures
Ok so now line 155 on base58_tests.cpp I’ve changed it to read:
CPrivKey privkey = secret.GetSecret();
make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' CXX test_bitcoin-base58_tests.o base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_parse::test_method()’: base58_tests.cpp:155:49: error: no matching function for call to ‘CBitcoinSecret::GetSecret()’ CPrivKey privkey = secret.GetSecret(); ^ In file included from base58_tests.cpp:5:0: ../../src/base58.h:130:13: note: candidate: CSecret CBitcoinSecret::GetSecret(bool&) CSecret GetSecret(bool &fCompressedOut); ^
ideas ?
To get past this error
1 - edit base58_tests.cpp (line 156)
CPrivKey privkey = secret.GetPrivKey();
2 - Edit base58.h and add the below at line 134
//Added by AcidDude bool IsCompressed(); void SetPrivKey(const CPrivKey& vchPrivKey); CPrivKey GetPrivKey();
-
This post is deleted! -
I was working with @wrapper on trying to fix the build tests… can you guys check out my commits below ?
https://github.com/aciddude/Feathercoin/commits/0.9.3.2I also merged @Wellenreiters latest commits from the main Feathercoin github for 0.9.3.2. For me the Wallet Builds with --disable-tests
if I run it with tests, I get to the (3rd?) base58 test.
I need some help understanding why CKey was removed and replaced with CSecret and CPrivKey
-
currently getting these errors
Making all in test make[3]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' make all-am make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test' CXX test_bitcoin-base58_tests.o base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_gen::test_method()’: base58_tests.cpp:213:79: error: no matching function for call to ‘CBitcoinSecret::SetSecret(std::vector<unsigned char>::iterator, std::vector<unsigned char>::iterator, bool&)’ key.SetSecret(exp_payload.begin(), exp_payload.end(), isCompressed); ^ In file included from base58_tests.cpp:5:0: ../../src/base58.h:131:10: note: candidate: void CBitcoinSecret::SetSecret(const CSecret&, bool) void SetSecret(const CSecret& vchSecret, bool fCompressed); ^ ../../src/base58.h:131:10: note: candidate expects 2 arguments, 3 provided base58_tests.cpp:216:34: error: no matching function for call to ‘CBitcoinSecret::SetPrivKey(CBitcoinSecret&)’ secret.SetPrivKey(key); ^ In file included from base58_tests.cpp:5:0: ../../src/base58.h:140:10: note: candidate: void CBitcoinSecret::SetPrivKey(const CPrivKey&) void SetPrivKey(const CPrivKey& vchPrivKey); ^ ../../src/base58.h:140:10: note: no known conversion for argument 1 from ‘CBitcoinSecret’ to ‘const CPrivKey& {aka const std::vector<unsigned char, secure_allocator<unsigned char> >&}’ In file included from /usr/include/boost/test/unit_test.hpp:19:0, from base58_tests.cpp:19:
I feel like am just missing an #Include…
also check out this
http://stackoverflow.com/questions/27951537/how-to-convert-unsigned-char-to-stdvectorunsigned-char -
@Lizhi @Wellenreiter @Bushstar
Re: Testing / Wallet Guide creation.
What is the current Minimum payment level and where /how is it set on release?
What is the current Dust fee level and where / how is it set on release?How the transition from Litecoin to Bitcoin base effected minimum payments as each has its own system and FTC had a modified version for 0.8.7.x and 0.6.x series?
-
Hi Guys,
I’ve managed to fix the base58 test. you can see all my commits, here:
https://github.com/aciddude/Feathercoin/commits/0.9.3.2I did a few of them on different days.
currently the following tests are passing:
CXX test_bitcoin-alert_tests.o CXX test_bitcoin-allocator_tests.o CXX test_bitcoin-base32_tests.o CXX test_bitcoin-base58_tests.o CXX test_bitcoin-base64_tests.o CXX test_bitcoin-bignum_tests.o
the next test that fails is
test_bitcoin-bloom_tests
it fails with these errors:
make[4]: Entering directory '/home/aciddude/FTCNEW/Feathercoin/src/test' CXX test_bitcoin-bloom_tests.o bloom_tests.cpp: In member function ‘void bloom_tests::bloom_create_insert_key::test_method()’: bloom_tests.cpp:84:26: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’ CKey key = vchSecret.GetKey(); ^ In file included from ../../src/base58.h:18:0, from bloom_tests.cpp:7: ../../src/key.h:76:20: error: ‘unsigned char* CPubKey::begin()’ is private unsigned char *begin() { ^ bloom_tests.cpp:86:50: error: within this context vector<unsigned char> vchPubKey(pubkey.begin(), pubkey.end()); ^ bloom_tests.cpp:86:65: error: no matching function for call to ‘std::vector<unsigned char>::vector(unsigned char*, const unsigned char*)’ vector<unsigned char> vchPubKey(pubkey.begin(), pubkey.end());
most of this seems to involve the CKey class in key.h as well as stuff in base58.h
it’s also claiming the CPubKey begin (method?) is private …but from what I can see in key.h it’s public…I could also be blind.
anyone who wants to replicate or help can just make the changes I did (you can see my commits in the above link)
or clone and build this
https://github.com/aciddude/Feathercoin/tree/0.9.3.2I’ve included all the recent fixes @Wellenreiter , @lizhi and @wrapper have done.
it seems the main reason for the tests failing is they need to be updated when there is any code changes, to reflect the names of new variables as well as the way things like keys are now created.
The remaining warnings are due to type mismatch during “for loops” -
update:
I’ve fixed the bloom test! below are the tests which are passing.
CXX test_bitcoin-alert_tests.o CXX test_bitcoin-allocator_tests.o CXX test_bitcoin-base32_tests.o CXX test_bitcoin-base58_tests.o CXX test_bitcoin-base64_tests.o CXX test_bitcoin-bignum_tests.o CXX test_bitcoin-bloom_tests.o CXX test_bitcoin-canonical_tests.o CXX test_bitcoin-checkblock_tests.o CXX test_bitcoin-Checkpoints_tests.o CXX test_bitcoin-compress_tests.o CXX test_bitcoin-DoS_tests.o CXX test_bitcoin-getarg_tests.o
It seems to be more of the same, where i’m just updating how things are done and the names of variables.
the next test that’s failing is
key_tests.cpp