Feathercoin daemon and wallet production version 0.17.0.2

[Dev] Packaging feathercoind and feathercoin-qt on Linux


  • Moderators | Tip Wellenreiter

    Some weeks ago I started to create installation Packages for Linux distributions.
    The packages will be located on a repository server and can be installed with the distributions package manager. That way all dependencies are solved automatically and automatic updates will be possible. All repositories are signed, so a basic security against modified executables will be provided.

    Currently I’m planning of create packages for the following Disttributions:

    • Opensuse
      13.1: feathercoind, feathercoin-qt (GUI)
      13.2: feathercoind, feathercoin-qt (GUI)

    • Debian
      Version 7: feathercoind, feathercoin-qt (GUI)
      Version 8: feathercoind, feathercoin-qt (GUI)

    • Ubuntu

    Other distributions may be added upon demand.
    I will give regular updates about the status of the package build here.

    Volunteers and feedback are welcome 😄


  • | Tip mirrax

    If you can make first Ubuntu 🙂


  • Moderators | Tip Wellenreiter

    I always start with Opensuse, as this is my ‘home’ distribution and I’m familiar with that one.
    Adapting to Debian/Ubuntu is easier for me, than doing Ubuntu first and then the other distributions.

    In any case I will release for all distributions mentioned above at the same date.


  • Moderators | Tip Wellenreiter

    Status of packaging

    I will use this post for updates on the progress.
    It will be edited to reflect updates

    • 2015/8/14:
      **packaging of feathercoind for Opensuse working
      ** working to get libraries for qr code handling packaged on OpensuseOpensuse

    • 2015/8/15:
      ** libraries handling qr-code packaged for Opensuse and available at software.opensuse.org (search for libzxing)

    • 2015/8/16:
      ** libraries handling qr-code packaged for xUbunutu and available at software.opensuse.org (search for libzxing)
      ** packaging of qr-code libraries for Debian in progress

    • 2015/8/17
      ** libraries handling qr-code packaged for Fedora and available at software.opensuse.org (search for libzxing)

    • 2015/08/23
      ** packaging of qr-code libraries for Debian 7 done and available at software.opensuse.org (search for libzxing)

    • 2015/09/09
      ** packaging of qr-code libraries for Debian 8 done and available at software.opensuse.org (search for libzxing)

    • 2015/10/08
      ** packaging of feathercoind and gui-wallet for Ubuntu 14.04 14.10 and 15.04, 32 and 64 Bit are done. Packages are available upon request. Packages are available here under ‘unstable’ as the packages are not part of the official distribution

    • 2015/10/10
      ** packaging of feathercoind and gui-wallet for Debian 8, 32 Bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution

    • 2015/10/15
      ** packaging of feathercoind and gui-wallet for Debian 8, 64 Bit done. Packages are available here under ‘unstable’ as the packages are not part of the official distribution

    • 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 Wellenreiter

    Status post updated


  • Moderators | Tip Wellenreiter

    Packaging of libzxing for Debian 7 done.
    Packages are available at:

    https://build.opensuse.org/package/binaries/home:wellenreiter01/libzxing?repository=Debian_7.0


  • Moderators | Tip Wellenreiter

    Just a status update: I was occupied with other topics the last days.

    Will focus on Ubuntu next, as Debian 7 is using qt4 only, which is causing issues when compiling the GUI Version and Debian 8 has a broken build chain for cmake, making it impossible at the moment to compile libzxing in my environment


  • Moderators | Tip Wellenreiter

    Broken build chain for Debian 8 fixed

    Packaging of libzxing for Debian 8 done.
    Packages are available at:
    https://build.opensuse.org/package/binaries/home:wellenreiter01/libzxing?repository=Debian_8.0


  • Moderators | Tip Wellenreiter

    Packaging for Ubuntu is done.


  • Regular Member | Tip surfguy72

    awesome!


  • Moderators | Tip Wellenreiter

    Some fine tuning still needs to be done and I need to describe how to add the repository to the sources list on the local PC.


  • Moderators | Tip Wellenreiter

    Packaging of feathercoind and gui-wallet for Debian 8, 32 Bit done.


  • Moderators | Tip Wellenreiter

    Packaging of feathercoind and gui-wallet for Debian 8, 64 Bit done. Packages are available upon request.


  • 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)