Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] Release Candidate Feathercoin 0.9.3.2 - Check List

    Technical Development
    6
    104
    87240
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AcidD
      AcidD Moderators last edited by AcidD

      WOOO HOO! I did it again. I can reproduce the 0.9.3.2 build. I gotta get up for work tomorrow but I have all the notes saved.

      In short I think all that needs to be done is zxing needs to be compiled again with just this

      export CXXFLAGS=-fPIC
      env
      cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
      make
      sudo make install
      

      Edit: Love a good screen shot https://i.snag.gy/BcjnXV.jpg

      then just compile FTC in the normal way I believe with nothing special there.

      • FTC Block Explorer + API @ https://fsight.chain.tips
      • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
      • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
      • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

      1 Reply Last reply Reply Quote 1
      • AcidD
        AcidD Moderators last edited by AcidD

        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 
        
        
        • FTC Block Explorer + API @ https://fsight.chain.tips
        • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
        • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
        • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

        1 Reply Last reply Reply Quote 1
        • Wellenreiter
          Wellenreiter Moderators last edited by wrapper

          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

          Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
          Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

          1 Reply Last reply Reply Quote 0
          • wrapper
            wrapper Moderators last edited by wrapper

            @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 builds

            We 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 term

            Feathercoin 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 that

            I’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.

            1 Reply Last reply Reply Quote 0
            • wrapper
              wrapper Moderators last edited by wrapper

              @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

              1. Try turning the tests on and see what the situation is with those, why they arn’t working.

              2. 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)

              3. Find where the overview and menu background colour is set, to correct for background image inconsistency.

              4.    static CBlockIndex* pblockindexFBBHLast;         unused - testing removed from main.cpp
                
              5. 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)

              AcidD 1 Reply Last reply Reply Quote 1
              • AcidD
                AcidD Moderators @wrapper last edited by

                @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

                1. Try turning the tests on and see what the situation is with those, why they arn’t working.
                2. 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.

                • FTC Block Explorer + API @ https://fsight.chain.tips
                • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                1 Reply Last reply Reply Quote 1
                • AcidD
                  AcidD Moderators last edited by

                  Building with tests on i’m getting very similar errors to this:
                  https://github.com/dogecoin/dogecoin/issues/377

                  it 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$
                  
                  
                  
                  • FTC Block Explorer + API @ https://fsight.chain.tips
                  • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                  • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                  • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                  1 Reply Last reply Reply Quote 1
                  • AcidD
                    AcidD Moderators last edited by

                    Locally I did what the dogecoin people did here:
                    https://github.com/dogecoin/dogecoin/pull/386/files

                    I 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$
                    
                    
                    
                    
                    • FTC Block Explorer + API @ https://fsight.chain.tips
                    • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                    • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                    • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                    Wellenreiter 1 Reply Last reply Reply Quote 1
                    • wrapper
                      wrapper Moderators last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • Wellenreiter
                        Wellenreiter Moderators @AcidD last edited by

                        @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

                        Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                        Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                        AcidD 1 Reply Last reply Reply Quote 1
                        • wrapper
                          wrapper Moderators last edited by wrapper

                          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

                          1 Reply Last reply Reply Quote 0
                          • AcidD
                            AcidD Moderators @Wellenreiter last edited by AcidD

                            @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 ?

                            • FTC Block Explorer + API @ https://fsight.chain.tips
                            • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                            • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                            • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                            AcidD 1 Reply Last reply Reply Quote 1
                            • wrapper
                              wrapper Moderators last edited by wrapper

                              Thanxs @Aciddude
                              I note this Test failure is something to do with stealth addresses

                              They 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…

                              1 Reply Last reply Reply Quote 1
                              • AcidD
                                AcidD Moderators last edited by

                                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;

                                https://i.snag.gy/YsIcuX.jpg

                                This is on the test
                                BOOST_AUTO_TEST_CASE(base58_keys_valid_gen) (next one in base58_tests)

                                • FTC Block Explorer + API @ https://fsight.chain.tips
                                • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                1 Reply Last reply Reply Quote 1
                                • AcidD
                                  AcidD Moderators @AcidD last edited by

                                  @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();
                                  
                                  
                                  • FTC Block Explorer + API @ https://fsight.chain.tips
                                  • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                  • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                  • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                  1 Reply Last reply Reply Quote 1
                                  • wrapper
                                    wrapper Moderators last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • AcidD
                                      AcidD Moderators last edited by

                                      @lizhi @Wellenreiter

                                      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.2

                                      I 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

                                      • FTC Block Explorer + API @ https://fsight.chain.tips
                                      • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                      • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                      • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                      1 Reply Last reply Reply Quote 1
                                      • AcidD
                                        AcidD Moderators last edited by

                                        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

                                        • FTC Block Explorer + API @ https://fsight.chain.tips
                                        • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                        • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                        • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                        1 Reply Last reply Reply Quote 1
                                        • wrapper
                                          wrapper Moderators last edited by wrapper

                                          @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?

                                          1 Reply Last reply Reply Quote 0
                                          • AcidD
                                            AcidD Moderators last edited by AcidD

                                            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.2

                                            I 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.2

                                            I’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”

                                            • FTC Block Explorer + API @ https://fsight.chain.tips
                                            • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                            • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                            • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post