Feathercoin daemon and wallet production version 0.18.1
Old daemon and wallet version 0.17.0.1

[Dev] Packaging feathercoind and feathercoin-qt on Linux


  • Moderators | Tip Wellenreiter

    As Version 0.9.3 was released today the Installation packages (.rpm / .deb) are made available here under ‘unstable’ as the packages are not part of the official distributions.

    Updated also the status post above


  • Moderators | Tip Wellenreiter

    2015/10/31

    • packaging of feathercoind and gui-wallet for Fedora 20 64 and 32 bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution
    • packaging of feathercoind and gui-wallet for Fedora 21, 64 and 32 bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution
    • packaging of feathercoind and gui-wallet for Fedora 22, 64 and 32 bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution
    • packaging of feathercoind and gui-wallet for OpenSuSE 13.2 , 64 and 32 bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution

  • Moderators | Tip wrapper

    Just a note that Feathercoin name is available for the Opensuse build service, might be worth having the Official builds there …

    http://download.opensuse.org/repositories/home:/


  • Moderators | Tip wrapper

    Building 0.8.7.3 and 0.9.3.1 on Ubuntu

    Build service errors

    Currently I get this error messages:

    CXX rpcrawtransaction.o
    [ 590s] In file included from /usr/include/boost/move/detail/type_traits.hpp:34:0,
    [ 590s] from /usr/include/boost/move/core.hpp:54,
    [ 590s] from /usr/include/boost/move/utility_core.hpp:29,
    [ 590s] from /usr/include/boost/move/utility.hpp:28,
    [ 590s] from /usr/include/boost/thread/detail/move.hpp:27,
    [ 590s] from /usr/include/boost/thread/lock_types.hpp:11,
    [ 590s] from /usr/include/boost/thread/pthread/mutex.hpp:16,
    [ 590s] from /usr/include/boost/thread/mutex.hpp:16,
    [ 590s] from allocators.h:13,
    [ 590s] from serialize.h:9,
    [ 590s] from bignum.h:9,
    [ 590s] from chainparams.h:9,
    [ 590s] from base58.h:17,
    [ 590s] from rpcrawtransaction.cpp:6:
    [ 590s] /usr/include/boost/variant/get.hpp: In instantiation of ‘typename boost::add_reference<T>::type boost::strict_get(boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>&) [with U = const CScriptID&; 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 boost::add_reference<T>::type = const CScriptID&]’:
    [ 590s] /usr/include/boost/variant/get.hpp:284:25: required from ‘typename boost::add_reference<T>::type boost::get(boost::variant<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>&) [with U = const CScriptID&; 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 boost::add_reference<T>::type = const CScriptID&]’
    [ 590s] rpcrawtransaction.cpp:299:77: required from here
    [ 590s] /usr/include/boost/variant/get.hpp:178:5: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
    [ 590s] BOOST_STATIC_ASSERT_MSG(
    [ 590s] ^

    The same code is compiling fine on Ubuntu 15.04, Debian 8 and other distributions.

    Possible answers being looked at :

    Just reading about a similar problem compiling :

    I think that the problem is that you put #ifdef instead of #ifndef at the top of your header.h file

    a search for what includes boost showed - checkpoints.h

    Which is a likely area for an error as it is included code for FTC. However, I can’t see a logical error in variable definition there, yet …

    https://github.com/FeatherCoin/Feathercoin/blob/0.9.3.1/src/checkpoints.h

    Also note https://github.com/FeatherCoin/Feathercoin/blob/0.9.3.1/src/rpcprotocol.cpp

    last change was to fix compile error …

    Also noted libqt5core5a replaces libqt5core5 mentioned in master-0.8/doc/readme-qt.rst


  • Moderators | Tip wrapper

    7230328 Jun 8 20:55

    feathercoin-qt 0.8.7.3 now compiles for me under Kubuntu 15.10

    Method :
    Installing the 12.04 dependencies from master-0.8/doc/readme-qt.rst

    A Library has changed name and become libqt5core5a, install that

    qmake
    make


  • Moderators | Tip wrapper

    Tried to register the Feathercoin name on opensuse build service but it has been taken (and abandoned ) by [email protected]

    Gonna contact him to get the name.


  • Moderators | Tip wrapper

    Building Feathercoind

    0.8.7.3 - buildunit.txt

    sudo apt-get install libboost1.37-dev fails

    In Kubuntu 15.10 this is now libboost1.58-dev

    warning during compile :

    main.cpp: In function ‘bool ProcessBlock(CValidationState&, CNode*, CBlock*, CDiskBlockPos*)’:
    main.cpp:2374:150: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int64 {aka long long int}’ [-Wformat=]
    return error(“ProcessBlock() : block has a time stamp of %u before the last checkpoint of %u”, pblock->GetBlockTime(), pcheckpoint->nTime);

    feathercoind builds

    This is the code at line 2374 main.cpp

        if((pblock->GetBlockTime() - pcheckpoint->nTime) < 0) {
            if(pfrom) pfrom->Misbehaving(100);
            return error("ProcessBlock() : block has a time stamp of %u before the last checkpoint of %u", pblock->GetBlockTime(), pcheckpoint->nTime);
        }
    
        // Here was some code to verify block difficulty upon block and checkpoint
        // time difference which had never worked well in general and was broken
        // across the hard forks for Feathercoin in particular
    

    Note: ProcessBlock()

    There is a mismatch to how ProcessBlock is called in main and rpcmining.cpp - it looks like there is a bug in main.cpp should be &pblock …

    src/miner.cpp
    Showing the top match. Last indexed on 21 Mar.
    // Process this block the same as if we had received it from another node
    CValidationState state;
    if (!ProcessBlock(state, NULL, pblock))
    return error(“FeathercoinMiner : ProcessBlock, block not accepted”);
    }

    return true;
    }

    src/rpcmining.cpp
    Showing the top match. Last indexed on 21 Mar.
    throw JSONRPCError(RPC_DESERIALIZATION_ERROR, “Block decode failed”);
    }

    CValidationState state;
    bool fAccepted = ProcessBlock(state, NULL, &pblock);
    if (!fAccepted)


  • Moderators | Tip wrapper

    Building feathercoin-qt 0.9.3.1 on Kubuntu 15.10

    ./autogen.sh
    ./configure
    make

    error : ./autogen.sh: 3: ./autogen.sh: autoreconf: not found

    apt-get install dh-autoreconf

    autoupdate

    ./configure --with-incompatible-bdb

    make

    fails with error :

    /usr/include/boost/variant/get.hpp:178:5: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
    BOOST_STATIC_ASSERT_MSG(
    ^

    Found this post : scatha

    Re: Error Compiling Zetacoin Ubuntu
    January 29, 2016, 08:41:47 AMI have similar problems with various coins- the solution is usually I try a different version of boost-devel, make clean and recompile.


    Seems Boost 1.58 is the probable cause : – Found this post

    Considering that boost 1.59 seems fine with the code, I’d go for:

    if((${Boost_MAJOR_VERSION} EQUAL 1) AND (${Boost_MINOR_VERSION} EQUAL 58))
    message( STATUS “Defining BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT”)
    add_definitions("-DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT")
    endif()

    just after the find_package( Boost … ) in the main CMakeLists.txt


    Looks like there was a PPA to get the latest Boost version : will continue tomorrow…

    https://codeyarns.com/2013/12/27/how-to-upgrade-the-boost-library-on-ubuntu/


    Found this :

    https://github.com/icook/zmark/commit/40ddb16a05c703c7cd9dce10f3aef09c0679e3d3

    Edited line 299 of rpcrawtransaction.cpp

    from
    const CScriptID& hash = boost::get<const CScriptID&>(address);

    to
    const CScriptID& hash = boost::get<CScriptID>(address);


    Continues further with build then error :

    shiftdialog.cpp:28:23: fatal error: QJsonObject: No such file or directory


    Installed libzxing libqrencode-dev qtbase5-dev libqt5opengl5-dev


    Now build fails with new error :

    CXX libbitcoinqt_a-shiftdialog.o
    shiftdialog.cpp:28:23: fatal error: QJsonObject: No such file or directory
    compilation terminated.


    Found similar problem compiling MInt

    There must be a newer version of that object files other than the one supplied with mint. The version table ends at GLIBCXX_3.4.19

    Code: Select all
    objdump -x /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19|grep ‘GLIBCXX_3.4.1’

    Tried : Install libstdc+±5 (4.9 installed) build failed


    Found another similar Mint problem @Wellenreiter worked on :

    https://bitcointalk.org/index.php?topic=178286.msg13823798#msg13823798

    qtbas5-dev appears to be installed correctly…

    QJsonObject: The compiler misses the file qjasonobject.h
    As Mint is a kind of special flavor of Ubuntu I checked the Ubuntu packages.
    You need to install the package qtbase5-dev. That package contains qjsonobject.h as you can see here:
    http://packages.ubuntu.com/wily/amd64/qtbase5-dev/filelist

    QtPrintSupport/QPrinter: The compiler misses the file qprinter.h
    Again, the package qtbase5-dev contains the header files for QtPrintSupport.
    If you have installed qtbase5-dev, check for the directories containing qprinter.h and qjsonobject.h
    and specifiy these directories for the configure script. Use ‘configure --help’ for syntax.

    Searched for qjsonobject.h and qjsonobject.h not found


    Found This : https://bugreports.qt.io/browse/QTBUG-27096 :

    All instances of “#include <QPrinter>” or “#include <QPrintDialog>” that I had in my Qt4 project must now be replaced by “#include <Qt/qprinter.h>” or “#include <Qt/qprintdialog.h>”, which is not Qt standard.

    Edit :
    src/qt/utilitydialog.cpp

    Actual position of Qt printer headers in Ubuntu 15.10 :
    /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprinter.h
    usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprintdialog.h

    Try - Change lines including utilitydialog.cpp headers include from :

    // Use QT5’s new modular classes
    #include <QtPrintSupport/QPrinter>
    #include <QtPrintSupport/QPrintDialog>
    #include <QtPrintSupport/QPrintPreviewDialog>

    Change lines in utilitydialog.cpp to :
    // Use QT5’s new modular classes
    #include <QtPrintSupport/qprinter.h>
    #include <QtPrintSupport/qprintdialog.h>
    #include <QtPrintSupport/qprintpreviewdialog.h>

    build error :

    CXX libbitcoinqt_a-notificator.o
    CXX libbitcoinqt_a-optionsdialog.o
    In file included from optionsdialog.cpp:17:0:

    CXX libbitcoinqt_a-shiftdialog.o
    shiftdialog.cpp:28:23: fatal error: QJsonObject: No such file or directory
    compilation terminated.


    from : https://bugreports.qt.io/browse/QTBUG-27096
    Did you add QT += printsupport in the pro file?
    It should work that way. Please let me know if you still have problems.

    Can’t find feathercoin.pro in 0.9.3.1 release source.


    Back to basics ran full instructions :

    qmake failed

    so ran full build with qmake -project :

    make clean
    ./autogen.sh
    autoupdate
    ./configure --with-incompatible-bdb
    qmake -project
    make


    Added QT += printsupport to feathercoin.pro file as suggested here :

    https://bugreports.qt.io/browse/QTBUG-27096

    Caused early crash of compile with error :

    make[5]: Entering directory ‘/home/tony/programs/Feathercoin/src/qt’
    CXX libbitcoinqt_a-shiftdialog.o
    shiftdialog.cpp:28:23: fatal error: QJsonObject: No such file or directory
    compilation terminated.
    Makefile:1509: recipe for target ‘libbitcoinqt_a-shiftdialog.o’ failed
    make[5]: *** [libbitcoinqt_a-shiftdialog.o] Error 1

    edited utiltydialog.cpp to try a different “full path” to Qt “problem” libraries.

    // Use QT5’s new modular classes
    #include <QtPrintSupport/QPrinter>
    #include <QtPrintSupport/QPrintDialog>
    #include <QtPrintSupport/QPrintPreviewDialog>
    #include <QtGui/QPainter>
    #include “walletmodel.h”

    // Use QT5’s new modular classes
    #include <QtPrintSupport/qprinter.h>
    #include <QtPrintSupport/qprintdialog.h>
    #include <QtPrintSupport/qprintpreviewdialog.h>
    #include <QtGui/QPainter>
    #include “walletmodel.h”

    Tried compile with modified headed and …/configure --with-incompatible-bdb --enable-dependency-tracking

    build failed.


  • Moderators | Tip Wellenreiter

    too much in one post.

    • qjasonobject:
      • is available with qt5 only. I’m not sure, which qt-package I installed to get it, if it is not the one I mentioned in the other thread
    • feathercoin.pro
      • doesn’t exist and is not needed for qt5 based compiles

    I will try to build for Ubuntu 15.10 and 6.04 with your modification in rpcrawtransaction.cpp. May be I also will try to change the dependency for boost lib to boost <= 1.59


  • Moderators | Tip wrapper

    Don’t worry about the post yet, all is negative. Just documenting what I’ve tried, so Aciddude doesn’t duplicate effort…

    Still got a couple more things to grind through. I am starting to run out of ideas to try tho’.

    Trying to Install 1.59 is next on my list, I couldn’t easily find a PPA . (There is a bug in 1.58)

    That sounds like the easiest fix, now all know mods have been tried. If it worked, it would use the same code, so no special mods needed.


  • Moderators | Tip wrapper

    Now we have the 0.8.7.3 build for Ubuntu is it more sensible to move to (testing) 0.11?

    and if 0.8.7.3 and 0.9.3.1 compile on 16.04?

    The problem does seem to be a glitch with libboost1.58-all-dev on Ubuntu 15.10 anyway. It seems to be a system dependancy.

    I’ve exhausted workarounds to try for the moment.


  • Moderators | Tip Wellenreiter

    I’d prefer to keep the 0.11.x versions on the testnet.
    Nevertheless @Lizhi ist using 0.11.2 on the prodnet. I asked him to specify his needs for the testnet, e.g. client versions to test compability and switch over to protocol version 4, but he didn’t come back to me.

    May be I can spare some time to try the build on ubuntu 16.04… but… it’s my wifes Birthday next Sunday, so probably I’ll have other duties :d


  • Regular Member | Tip UnklAdM

    I’ve got a dev box at home with 14.04 LTS installed on it. Would getting this working on that help at all? If so, what version should I try?

    I managed to get my primary wallet running on Centos 7 but that was a totally different scenario.

    Just trying to help out, the wife passed 6 weeks ago and I’m trying to keep busy. I’ve been pretty active with Syscoin lately so a lot of this is pretty fresh to me.

    - UnklAdM


  • Moderators | Tip AcidD

    @UnklAdM - all I can say is I’m sorry man…

    I’m attempting ubuntu 16.04 now and going with Feathercoin v0.9.3.1


  • Moderators | Tip wrapper

    @UnklAdM said:

    I’ve got a dev box at home with 14.04 LTS installed on it. Would getting this working on that help at all? If so, what version should I try?

    - UnklAdM

    There isn’t a problem with building on Ubuntu 14.04 or 15.04,

    the problems are now finding why Feathercoin 0.9.3.1 doesn’t build for Ubuntu 15.10 (probably a bug in libboost1.58 Ubuntu dependency).

    Looking into whether (the Centos problem) solution of upgrading to 1.59 can be done (compile from source) and run on standard installs of Ubuntu …

    and testing 0.8.7.3 and 0.9.3.2 builds on Ubuntu 16.04

    Source code :
    https://github.com/FeatherCoin/Feathercoin

    Build Instructions in /doc for wallet (feathercoin-qt) dependencies : multiwallet-qt.md
    Build Instructions in /doc for daemon (feathercoind) dependencies : readme-qt.rst (only available in 0.8.3 currently)

    Then (remove the --with-incompatible-bdb to retain 4.8 version dB)

    make clean
    ./autogen.sh
    autoupdate
    ./configure --with-incompatible-bdb
    qmake -project
    make


  • Moderators | Tip AcidD

    So apparently it compiled…

    Feathercoin-qt is 143.2MB

    when I try to run it I get an error:
    “Could not display Feathercoin-qt”

    “There is no application install for “shared library” files. do you want to search for an application to open this file?”

    =====
    edit: WHOOOP!! IT WORKS
    in terminal running sudo ./feathercoin-qt loaded it fine. it’s syncing the block chain now. Screen shots coming.


  • Moderators | Tip AcidD

    BOOM CITY !!

    Image


  • Moderators | Tip wrapper

    We might as well concentrate on 16.04 builds (for Ununtu) so …
    Since 15.10 is soon to end support, there isn’t a great necessity to have a 9.3.1 build, especially since we can now produce 0.8.3.1 with the fixed dependencies.

    I’ll upgrade / set up virtual box to confirm the build works.

    I’ll start to look at some pushing updates to the build docs, ie can’t build 15.10 and updated dependency condition.


  • Moderators | Tip wrapper

    @aciddude said:

    So apparently it compiled…

    Feathercoin-qt is 143.2MB

    when I try to run it I get an error:
    “Could not display Feathercoin-qt”

    “There is no application install for “shared library” files. do you want to search for an application to open this file?”

    =====
    edit: WHOOOP!! IT WORKS
    in terminal running sudo ./feathercoin-qt loaded it fine. it’s syncing the block chain now. Screen shots coming.

    1st point - there is a compression method to reduce the size for release binaries

    from : https://github.com/FeatherCoin/Feathercoin/blob/0.9.3.1/doc/build-unix.md

    The release is built with GCC and then “strip bitcoind” to strip the debug symbols, which reduces the executable size by about 90%.

    in Feathercoind case

    cd src
    strip feathercoind

    2nd point - don’t run feathercoin-qt as sudo, otherwise the wallet will be put into root …

    try running

    cd ~/Feathercoin
    ./feathercoin-qt

    or you need to run make install and run feathercoin-qt directly

    3rd point found this reference to previous work Wellenreiter did on 0.9.3.1 build.

    http://forum.feathercoin.com/topic/8168/building-feathercoin/9


  • Moderators | Tip wrapper

    Other potential areas to Investigate current Feathercoin build issues :

    FTC 0.9.3.1 - Building on Ubuntu 15.10

    Possible other issues with rpcrawtransaction.cpp
    Possible causes :
    Miss match between Qt4 and Qt5 build requirements
    rpcrawtransaction.h missing?
    Task :
    check sources re:
    https://trac.macports.org/changeset/136010

    Research why no rpcrawtransaction.h?

    15.10 build error zxing in snapwidget.cpp:71
    Possible causes :
    Causes :
    missing system path to zxing headers in snapwidget.cpp / snapwidget.h

    Task :
    Try building without QR codes

    Run make clean on a fresh clone of FTC messages

    checking for moc-qt5… no
    checking for moc5… no
    checking for moc… /usr/bin/moc
    checking for uic-qt5… no
    checking for uic5… no
    checking for uic… /usr/bin/uic
    checking for rcc-qt5… no
    checking for rcc5… no
    checking for rcc… /usr/bin/rcc
    checking for lrelease-qt5… no
    checking for lrelease5… no
    checking for lrelease… /usr/bin/lrelease
    checking for lupdate-qt5… no
    checking for lupdate5… no
    checking for lupdate… /usr/bin/lupdate
    checking whether to build Feathercoin Core GUI… yes (Qt5)

    Task :
    Check negative checks

    Results :
    Moc5 - included in qtbase5-dev-tools
    Note: qtbase5-private-tools is not installed try that result build still failed.

    Investigate Bitcoin Github issue as cause

    http://www.boost.org/users/history/version_1_58_0.html


Log in to reply