[Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.
-
Merge 0.9.6.2 with 0.11
Just looking at pulling in all the 0.9.6.2 fixes, see if that corrects the build problem. I’d rather work on re-implementing a few 0.11 specific files than find a possible .gitignore missing file or setting only @Lizhi has on his PC…I have created a working document, to assist or add to the document, fork the repository https://github.com/wrapperband/FTC-Wallet-Layout-Examples/blob/master/Develpment/0.11-0.9merge Conflicts.txt and update the document. Push any changes.
To work on the merge, create a branch of 0.11, clone it, then replace the names with your test branch, create the pull, then use the command line to merge. Note : normally merges would be the other way round, in this case 0.9.6.2 is building and 0.11 is not. …
https://github.com/wrapperband/Feathercoin/pull/1
git fetch origin
git checkout -b 0.9.6.2 origin/0.9.6.2
git merge 0.11.2-wrapperThese files have conflicts, 0.11 should be used.
src/alert.cpp
src/alert.h
src/base40.h
src/base58.cpp
src/chainparams.cpp
src/chainparams.hThese need checking but shouldn’t be stoppers.
share/pixmaps/bitcoin.ico
share/pixmaps/nsis-header.bmp
share/pixmaps/nsis-wizard.bmp -
0.9.6.2 specific merge conflict
define(_CLIENT_VERSION_MINOR, 9)
define(_CLIENT_VERSION_REVISION, 6)
define(_CLIENT_VERSION_BUILD, 2)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_COPYRIGHT_YEAR, 2017)
AC_INIT([Feathercoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@ftc-c.com],[feathercoin])
AC_CONFIG_AUX_DIR([src/build-aux])
AC_CONFIG_MACRO_DIR([src/m4])Merged version is 0.11 - Structure of build is changed. Updated the support issues referance to github.
define(_CLIENT_VERSION_MINOR, 11)
define(_CLIENT_VERSION_REVISION, 2)
define(_CLIENT_VERSION_BUILD, 6)
define(_CLIENT_VERSION_IS_RELEASE, false)
define(_COPYRIGHT_YEAR, 2017)
define(_USE_ZXING,1)AC_INIT([Feathercoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/Feathercoin/Feathercoin/issues],[feathercoin])
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([build-aux/m4]) -
HEAD
]])],[boost_sleep=yes; BOOST_LIBS=“$BOOST_LIBS $BOOST_CHRONO_LIB”;
AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],[boost_sleep=no])
]])],
[boost_sleep=yes;
AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],
[boost_sleep=no])---- origin/0.11.2-wrapper
LIBS=“$TEMP_LIBS”
CPPFLAGS=“$TEMP_CPPFLAGS”if test x$boost_sleep != xyes; then
TEMP_LIBS=“$LIBS”
LIBS=“$BOOST_LIBS $LIBS”
TEMP_CPPFLAGS=“$CPPFLAGS”
CPPFLAGS=“$CPPFLAGS $BOOST_CPPFLAGS”
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <boost/version.hpp>
#include <boost/thread.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
HEAD]], [[
=======
]],[[
------ origin/0.11.2-wrapper
#if BOOST_VERSION <= 105600
boost::this_thread::sleep(boost::posix_time::milliseconds(0));
#else
choke me
#endif----- HEAD
]])],[boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],[boost_sleep=no])
]])],
[boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],
[boost_sleep=no])------- origin/0.11.2-wrapper
-
main.h conflicts -> add opennames variables back?
<<<<<<< HEAD
static const unsigned char OPENNAME_MAGIC_BYTES_MAINSET=0x08;
static const unsigned char OPENNAME_MAGIC_BYTES_TESTSET=0x88;
/* These definitions generate warnings, but they are used in utility dialog.cpp
static const char* OPENNAME_NAME_PREORDER=“a”;
static const char* OPENNAME_NAME_REGISTRATION=“b”;
static const char* OPENNAME_NAME_UPDATE=“c”;
static const char* OPENNAME_NAME_TRANSFER=“d”;
static const char* OPENNAME_NAME_RENEWAL=“e”;
*/struct COrphanBlock {
uint256 hashBlock;
uint256 hashPrev;
vector<unsigned char> vchBlock; -
main.h 0.11.2 update.
Added these definition back in for moment?
– HEAD
extern std::map<uint256, CBlock*> mapOrphanBlocksA;
extern std::map<uint256, COrphanBlock*> mapOrphanBlocks;----- origin/0.11.2-wrapper
-
main.h conflicts
Test replaced by function? removed for now.
HEAD 0.9.6.2
CMerkleTx() { Init(); } CMerkleTx(const CTransaction& txIn) : CTransaction(txIn) { Init(); } void Init() { hashBlock = 0; nIndex = -1; fMerkleVerified = false; } IMPLEMENT_SERIALIZE ( nSerSize += SerReadWrite(s, *(CTransaction*)this, nType, nVersion, ser_action); nVersion = this->nVersion; READWRITE(hashBlock); READWRITE(vMerkleBranch); READWRITE(nIndex); ) int SetMerkleBranch(const CBlock* pblock=NULL); // Return depth of transaction in blockchain: // -1 : not in blockchain, and not in memory pool (conflicted transaction) // 0 : in memory pool, waiting to be included in a block // >=1 : this many blocks deep in the main chain int GetDepthInMainChain(CBlockIndex* &pindexRet) const; int GetDepthInMainChain() const { CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet); } int GetHeightInMainChain(CBlockIndex* &pindexRet) const; int GetHeightInMainChain() const { CBlockIndex *pindexRet; return GetHeightInMainChain(pindexRet); } bool IsInMainChain() const { CBlockIndex *pindexRet; return GetDepthInMainChainINTERNAL(pindexRet) > 0; } int GetBlocksToMaturity() const; bool AcceptToMemoryPool(bool fLimitFree=true);
----- 0.11
ScriptError GetScriptError() const { return error; }
– origin/0.11.2-wrapper -
Regarding opennames variables, leave them out, if they are not already in 0.11.2 code. They are defined in file included by much more files, than needed and generate bulks of error messages ‘variable defined, but not used’ Iv’e tried to remove the definitions wherever possible when trying to compile 0.11.2 last year.
-
@wrapper said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:
After adding missing files / updating configure.ac :
src/qt/qrcodedialog.h and qrcodedialog.cpp
Compile fails at :
In file included from qt/addressbookpage.cpp:32:0:
qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’
private slots:https://stackoverflow.com/questions/20185423/qt-cmake-missing-before-identifier-slots
Tried adding missing file : feathercoin.qrc
Created list of files Not in version 0.11.2 but in version 0.9.6.2 in ~/projects/Feathercoin :
diff -r ~/projects/Feathercoin ~/Feathercoin | grep ~/projects/Feathercoin > difference2.txt
To fix this error:
In file included from qt/addressbookpage.cpp:32:0:
qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’
private slots:This was mine:
qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’ private slots: ^ qt/qrcodedialog.h:22:9: error: ‘slots’ does not name a type
Open
qt/qrcodedialog.h:change line 22 from
private slots:
to
private Q_SLOTS:
https://forum.qt.io/topic/17952/slot-declaration-rare-problem-to-resolve-solved/2
-
0.11.2 build error
CXX qt/qt_libbitcoinqt_a-qrcodedialog.o qt/qrcodedialog.cpp: In member function ‘QString QRCodeDialog::getURI()’: qt/qrcodedialog.cpp:98:67: error: ‘FTC’ is not a member of ‘BitcoinUnits’ ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::FTC, ui->lnReqAmount->value())); ^ Makefile:5151: recipe for target 'qt/qt_libbitcoinqt_a-qrcodedialog.o' failed make[2]: *** [qt/qt_libbitcoinqt_a-qrcodedialog.o] Error 1
go check src/qt/bitcoinunits.cpp and .h
easy fix
add relevant FTC eqivilants into bitcoinunits.h
enum Unit { MBTC, kBTC, BTC, mBTC, uBTC, MFTC, kFTC, FTC, mFTC, uFTC };
proper fix…edit both files …requires further understanding of the code for me.
-
@AcidD we should create and use a feathercoinunits.cpp/.h and use that instead
-
@Wellenreiter said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:
@AcidD we should create and use a feathercoinunits.cpp/.h and use that instead
I agree and this is the same thing we need to look at for other changes during the review whilst moving to head.
The main reason is to make future merges less problematic. -
Can someone fork Bitcoin into the Feathercoin Github ?
@Wrapper you made a fair point a while back somewhere…if we properly fork from Bitcoin head and then do our commits we can easily pull in their fixes as well ?
-
@AcidD Yes, thats the job I call “Going to Head” !
-
Getting this message opening the debug.log in 0.11.2
The file /home/tony/.feathercoin/debug.log was opened with UTF-8 encoding but contained invalid characters.
It is set to read-only mode, as saving might destroy its content.
Either reopen the file with the correct encoding chosen or enable the read-write mode again in the tools menu to be able to edit it. -
@wrapper said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:
Getting this message opening the debug.log in 0.11.2
The file /home/tony/.feathercoin/debug.log was opened with UTF-8 encoding but contained invalid characters.
It is set to read-only mode, as saving might destroy its content.
Either reopen the file with the correct encoding chosen or enable the read-write mode again in the tools menu to be able to edit it.When writing to the Debug log, does 0.11.2 leave comments that are written by @lizhi and therefore uses a different character encoding?
-
https://bter.com/trade/ftc_btc
Is running Feathercoin 0.9.3.2
-
@AcidD said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:
When writing to the Debug log, does 0.11.2 leave comments that are written by @lizhi and therefore uses a different character encoding?
Server Hosted in Luxemberg + FTC = BTER
-
Issue Notes :
Whilst syncing a (fresh blockchain database/wallet) Feathercoin 0.11.2-dev , mouse over the exclamation mark next to Balances . says Bitcoin
QRCodes did not work - need review after merge complete
Check : Transaction fee set to 0.00001 FTC/kB
Sign message - tool tip on Advanced menu option - Verify message sign message tab says bitcoin
Verify message - tool tip on Advanced menu option - Verify message - Verify message tab says bitcoin
Advanced / Options / Wallet : Check default coin control settings are correct
There are quite a few changes made to the wallet structure, the standard bitcoin connection animation looks Ok. opennames is missing.
@AFB helped to do some fiddling to bring in all the improvements we did into 0.11.2 , possibly make a couple more icons / update some bad new forms.
There is another test (that would help us move to head) - Fork Bitcoin, checkout 0.11 last version - merge ftc 0.11.2
Update autoconfig.sh to test for zxing Directory e.g. :
if [ ! -d “$DIRECTORY” ]; then
# Control will enter here if $DIRECTORY doesn’t exist.
fiUpdate Re-Indexing message to be more friendly / informative? (when you upgrade)
Why do we have uFTC and mFTC surely DecaFTC is more logical?? (needs review)
Test and document Smart contracts.
Smart contracts is just a form, review and remove, smart contract form.
SX search for stealth coins not included.
find not utf-8 characters grep -axv ‘.*’ main.cpp
propose launch option shrink debug file :
Add -shrinkdebuglog to the options you use to start feathercoin, or add shrinkdebuglog=1 to your feathercoin.conf. Every startup, if the log is larger than 1MB, it will shrink it to 200KB.
wallet.cpp change control :
// TODO: fix handling of ‘change’ outputs. The assumption is that any
// payment to a script that is ours, but is not in the address book
// is change. That assumption is likely to break when we implement multisignature
// wallets that return change back into a multi-signature-protected address;
// a better way of identifying which outputs are ‘the send’ and which are
// ‘the change’ will need to be implemented (maybe extend CWalletTx to remember
// which output, if any, was change).Fri, 12 September 2014 16:29:30 -0400 build date incorrect, debug information @wellenreiter
Add these dependencies to FTC unix build docs :
libevent-2.0-5 libevent-dev libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5LogPrintf(" (no) space error(s)
Enter multisync, new address, press ok with no address. – Incorrect error message.
The entered address “” is not a valid Bitcoin address.Multisig page, - verify message button - not connected to anything …
Update the openSSL version used / review : OpenSSL 1.0.2g 1 Mar 2016
Re-Integrate updated Documents from 0.9.6.2
Review MAN pages - copied in from 0.9.6.1 because 0.11.2 MANs were deleted. need review against Bitcoin 0.11.1
src/qt/forms/debugdialog.ui - Reused form SX form and menu options need reapplying.
feathercoin.qrc has not been implemented in 0.11 - being worked on as part of merge
Icons are missing, test icons - being tested / brought in as part of merge
https://github.com/litecoin-project/litecoin/pull/362 SSE2 Litecoin enhancement.
https://uk.mathworks.com/matlabcentral/answers/93455-what-is-the-sse2-instruction-set-how-can-i-check-to-see-if-my-processor-supports-it?requestedDomain=www.mathworks.comACP is not working in 0.11
openssl version and future use review :
https://github.com/peercoin/peercoin/commit/3320650372750068dff45193603d17998a975117 -
@wrapper we should group these notes and create issues directly on github.
Otherwise it is duplicated work -
I agree, I’ll move them to issues, these are notes while I investigate.
I’ve also created a pull list on Github so we can discuse which and how we pull the missing commits from 0.9.6.2 and, opennames. We can use the experience to to pull in further changes from head.
https://github.com/FeatherCoin/Feathercoin/pull/201
The pull can be used to identify which don’t need or need more icons etc as we agreed, the project will be used to document pulling them in.