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

    [Guide] Testing / How to Compile Feathercoin Client from Source in Virtualbox

    Technical Development
    7
    18
    10763
    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.
    • wrapper
      wrapper Moderators last edited by wrapper

      Use.
      Potential Feathercoin beta / testers.
      MS Windows users to experience a GNU Linux distrobution in a isolated VirtualBox
      Try compiling from the Feathercoin from the source code

      This Bitcoin Guide shows the latest compile instructions
      https://bitcointalk.org/index.php?topic=149479.0

      This is a quick guide / walk through to compiling the latest Feathercoin code into a separate wallet set up inside a Virtualbox.

      For use with the test versions, but is set up standard version of the Feathercoin client.

      I’ve included QT-Creator as it’s easier to see the code and docs if you’re a non programmer + its a standard GUI to explain. Being in a Virtualbox means the guide can be used by people who don’t have a separate PC, and where testing might affect their real wallet. Or just create a safe wallet inside a virtual box.

      It also introduces people to the Kubuntu environment, Unix Bash terminal commands and gives access to all the Debian based free and open source tools that Feathercoin is built on.

      Note: for general use the QT set-up file *.pro can have various names, also the git download folder will depend which Feathercoin version is being compiled.

      Install VirtualBox
      Download and Install Kubuntu 13.10 (or equivalent GNU/Linux distribution) *.iso -> into Virtualbox
      Right-click Virtualbox Settings - 1 GB RAM Base memory - 256 MB Video Memory

      In the Linux Distribution
      Virtualbox Tab, install “Guest additions”. Then run autorun.sh of the CD.

      Open a Terminal prompt : /Menu/Applications/System/Terminal (I right click add to favourites)

      Copy and Paste (mouse right click) these commands into the terminal, press return.

      sudo apt-get update

      sudo apt-get upgrade

      sudo reboot (optional)

      sudo apt-get install build-essential libssl-dev libdb5.1-dev libdb5.1+±dev libboost-all-dev git

      sudo apt-get install libqtgui4
      sudo apt-get install libminiupnpc-dev
      sudo apt-get install qttools5-dev-tools qttools5-dev
      sudo apt-get install qrencode
      sudo apt-get install libqrencode-dev

      Next: Close Terminal

      Note: In some distributions, only libdb-dev4.8 or libdb-dev4.9 are available. If so the databases versions are upgradeable later, but not downgradeable.

      [sudo apt-get install build-essential libssl-dev libdb4.8-dev libdb4.8+±dev libboost-all-dev git]

      Install QT-Creator (Software center)

      Open Terminal

      git clone https://github.com/FeatherCoin/Feathercoin.git

      Here is the LATEST TEST version ->

      git clone -b 0.8.6.1 https://github.com/FeatherCoin/Feathercoin.git

      Run QT-Creator
      File - open file or project (/Home/User/feathercoin/feathercoin-qt.pro)

      Build Menu.
      Build -> Clean
      Build -> qmake
      Build -> Build

      (Press 4. (Bottom right) Compile output.

      To enable QR codes buttons and Receive - mouse right click.

      In QR Creator - click projects button
      Under build steps, Click QMake details
      Then add USE_QRCODE=1
      You can then change the {version} to release or debug and set USE_QRCODE=1
      .
      You can change which version is Compiled by clicking the (project name) button at the bottom left of the QT_Creator window.

      Go through the build process, to build the version with QR Codes enabled.

      See attached image of the QT-Creator - Projects button window, to see how to set qmake parameters.

      Make link to run /feathercoin-qt-Debug/build/

      In Kubuntu ->
      Right click Menu Button - edit Applications -> menu
      Internet -> New Item in menu -> Feathercoin
      command /home/user/feathercoin-qt/feathercoin-qt
      save

      I suggest then cloning the Virtualbox, before any potentially destructive tests.

      There are some commands loine options you can run on the client which can be useful whilst testing. A list is available from the Feathercoin-qt debug window, command line options button.

      rescan recreates the block database index, you can restrict or or enhance your nodes with maxconnections.

      -maxconnections=30 or -rescan

      Do not go below 8 connections, as there is a minimum requirement.

      Build Instructions from Github.

      You can find instructions in the doc folder: https://github.com/FeatherCoin/FeatherCoin/tree/master/doc

      If you want a graphical version, see “readme-qt.rst” https://github.com/FeatherCoin/FeatherCoin/blob/master/doc/readme-qt.rst

      Otherwise, follow the instructions in “build-unix.txt”: https://github.com/FeatherCoin/FeatherCoin/blob/master/doc/build-unix.txt

      Release and build Instructions from the source code /other files /docs

      release-process.md

      Includes information on building for different operating systems including W*ndows. It is for Litecoin as well.

      [attachment deleted by admin]

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

        That’s all working but I’m not getting the new client to connect, do I need to connect to a test net?

        Can I add a node on the Debug window of my own host PC to transfer the blockchain quicker to the Virtualbox guest?

        Ganna have some lunch. I’ll update with any /progress / suggestions later.

        >>>>>>>>>

        getinfo

        13:19:28
        
        {
        “version” : 80500,
        “protocolversion” : 60002,
        “walletversion” : 60000,
        “balance” : 0.00000000,
        “blocks” : 0,
        “timeoffset” : 0,
        “connections” : 0,
        “proxy” : “”,
        “difficulty” : 0.00024414,
        “testnet” : false,
        “keypoololdest” : 1385035836,
        “keypoolsize” : 101,
        “paytxfee” : 0.00000000,
        “mininput” : 0.00010000,
        “errors” : “”
        }

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

          Ha Ha, I forgot to open the Feathercoin Wallet on my Virtualbox Host.

          I used ifconfig in the terminal to find my host ip address, then in the (help) debug window / console on the Feathercoin client

          addnode 192.168.0.30:9336

          The 0.8.5 client is downloading the database straight from my host! Wow, that is fast…

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

            VirtualBox - Feathercoin 0.8.5 Test Receive

            (ftc) 6jfWyBok6Lcsp6pyq2uEYh33k6uJEgiTtN

            Has anyone got any FTC dust to send to Feathercoin 0.8.5.0 ?

            [attachment deleted by admin]

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

              Completed Downloaded Blockchain to new Feathercoin 0.8.5.0-beta database.

              Received first transaction.

              [attachment deleted by admin]

              1 Reply Last reply Reply Quote 0
              • K
                Kevlar Spammer last edited by

                Dude, that’s FANTASTIC work.

                Any chance of doing something similar for Winblowz builds?

                1 Reply Last reply Reply Quote 0
                • zerodrama
                  zerodrama Regular Member last edited by

                  On Debian linux, I just run:
                  qmake
                  make

                  I have found that boost++ 1.49 won’t compile, so i use boost++ 1.53.

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

                    [quote name=“Kevlar” post=“35525” timestamp=“1385078071”]
                    Dude, that’s FANTASTIC work.

                    Any chance of doing something similar for Winblowz builds?
                    [/quote]

                    I found these notes on W*ndow$ builds in the master 0.8 other files /docs/ build-msw.md ->

                    WINDOWS BUILD NOTES

                    Compilers Supported

                    TODO: What works?
                    Note: releases are cross-compiled using mingw running on Linux.

                    Dependencies

                    Libraries you need to download separately and build:

                    default path download
                    OpenSSL \openssl-1.0.1e [url=http://www.openssl.org/source/]http://www.openssl.org/source/[/url]
                    Berkeley DB \db-4.8.30.NC [url=http://www.oracle.com/technology/software/products/berkeley-db/index.html]http://www.oracle.com/technology/software/products/berkeley-db/index.html[/url]
                    Boost \boost-1.53.0 [url=http://www.boost.org/users/download/]http://www.boost.org/users/download/[/url]
                    miniupnpc \miniupnpc-1.8 [url=http://miniupnp.tuxfamily.org/files/]http://miniupnp.tuxfamily.org/files/[/url]

                    Their licenses:

                    OpenSSL Old BSD license with the problematic advertising requirement
                    Berkeley DB New BSD license with additional requirement that linked software must be free open source
                    Boost MIT-like license
                    miniupnpc New (3-clause) BSD license

                    Versions used in this release:

                    OpenSSL 1.0.1e
                    Berkeley DB 4.8.30.NC
                    Boost 1.53.0
                    miniupnpc 1.8

                    OpenSSL

                    MSYS shell:

                    un-tar sources with MSYS ‘tar xfz’ to avoid issue with symlinks (OpenSSL ticket 2377)
                    change ‘MAKE’ env. variable from ‘C:\MinGW32\bin\mingw32-make.exe’ to ‘/c/MinGW32/bin/mingw32-make.exe’

                    cd /c/openssl-1.0.1e
                    ./config
                    make

                    LevelDB

                    MSYS shell:
                    cd /c/Feathercoin-0.8.5/leveldb
                    TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a

                    Berkeley DB

                    MSYS shell:

                    cd /c/db-4.8.30.NC-mgw/build_unix
                    …/dist/configure --disable-replication --enable-mingw --enable-cxx

                    Open build_unix/db.h in a text editor and find the following line
                    typedef pthread_t db_threadid_t;

                    Replace the line with the following
                    typedef u_int32_t db_threadid_t;

                    Now go back to the MSYS shell and run
                    make

                    Boost

                    DOS prompt:

                    cd /c/deps/boost_1_53_0/
                    bootstrap.bat mingw
                    b2 --toolset=gcc --build-dir=%BOOST_ROOT%\build --build-type=minimal stage link=static runtime-link=static threading=multi variant=release -a -j 4 --with-filesystem --with-program_options --with-system --with-thread

                    MiniUPnPc

                    UPnP support is optional, make with `USE_UPNP=` to disable it.

                    MSYS shell:

                    cd /c/miniupnpc-1.8
                    make -f Makefile.mingw
                    mkdir miniupnpc
                    cp *.h miniupnpc/

                    Feathercoin

                    DOS prompt:

                    cd \feathercoin\src
                    mingw32-make -f makefile.mingw
                    strip feathercoind.exe

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

                      Tried again to run the 0.8.5. version on a 0.6.4.4 wallet.

                      Worked like a charm today, even without a need to restart the client ;D

                      It seems, that the time to sync or sync without hangs is a bit of luck.

                      I noticed, that my 0.6.4.4 adresses where not shown in the 0.8.5 wallet.

                      ‘importprivkey’ solved that.

                      We should mention in the update description for users, that it is important to dump the private keys prior to the update.

                      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

                        I think we need to more specific tests of the wallet “update process”, once any minor changes are in.

                        I’m only seen testing of connection to the network / wallet operations far. There are so many changes, that we need to investigate further to see i any have more obscure consequences. Or to find if anything needs switching off (for this version).

                        I made a Thread of new functions or functions with major changes in 0.8.5, it a least needs a review, to ensure a safe release.

                        Also, we still may release if there is a bug, for instance, “QR codes don’t work for Linux”, is the same for Litecoin and Bitcoin. As long as it is noted.

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

                          I added the extra qmake and dependencies to activate qr_codes to the linux build guide / walk through.

                          The guide still needs a test run as I am have not checked if some other QR related libraries need adding, or if qrencode is sufficient.

                          added libqrencode-dev

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

                            I found this Litecoin compile guide for Windows.

                            https://bitcointalk.org/index.php?topic=265323.0

                            1 Reply Last reply Reply Quote 0
                            • M
                              minty last edited by

                              Hi wrapper

                              Not sure if I’ve missed it, but can I share the blockfile from a Win7 host with an Ubunto VB wallet? Or does it download a duplicate blockfile from the network, or perhaps the host with it having a local copy? If the blockfile was 5GB for example, then having two copies could cause disk space issues if you’re short on space. How does it work?

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

                                You need enough memory, but otherwise the Virtualbox is a separate system. That was part of the idea.

                                Yes, you do download 2 block chains. But it is meant for testing, and isolate you from your “own” wallet.

                                You can speed up the blockchain download by using

                                addnode onetry

                                on the Feathercoin console command line to the host PC (IPconfig in Windows). You will download over p2p straight from your own PC.

                                I specifically wrote it because the source code is very hard to compile in Windows. By using the Virtualbox, it is easier to compile and gets users used to Linux, with all the open source and free tools. Thus, we can get wider testing at the source code stage.

                                Killing 3 birds with one stone made it super worth the effort Plus, nice to have my guide available anywhere, as I’ve used it myself to set up my sons Ubuntu PC.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  minty last edited by

                                  Thanks for that. I understand how it works now. I’ll have a play with it and let you know how I get on.

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    algo160 last edited by

                                    [quote name=“wrapper0feather” post=“35329” timestamp=“1385036076”]
                                    [b]To specifically aide potential beta / testers. [/b]

                                    This is a quick guide / walk through to compiling the latest Feathercoin code into a separate wallet set up inside a Virtualbox.

                                    For use with the test versions, but is set up standard version of the Feathercoin client.

                                    I’ve included QT-Creator as it’s easier to see the code and docs if you’re a non programmer + its a standard GUI to explain. Being in a Virtualbox means the guide can be used by people who don’t have a separate PC, and where testing might affect their real wallet. Or just create a safe wallet inside a virtual box.

                                    It also introduces people to the Kubuntu environment, Unix Bash terminal commands and gives access to all the Debian based free and open source tools that Feathercoin is built on.

                                    Note: for general use the QT set-up file *.pro can have various names, also the git download folder will depend which Feathercoin version is being compiled.

                                    [quote]
                                    Install VirtualBox
                                    Download and Install Kubuntu 13.10 (or equivalent GNU/Linux distribution) *.iso -> into Virtualbox
                                    Right-click Virtualbox Settings - 1 GB RAM Base memory - 256 MB Video Memory
                                    [/quote]
                                    [quote]
                                    In the Linux Distribution
                                    Virtualbox Tab, install “Guest additions”. Then run autorun.sh of the CD.

                                    Open a Terminal prompt : /Menu/Applications/System/Terminal (I right click add to favourites)

                                    Copy and Paste (mouse right click) these commands into the terminal, press return.

                                    sudo apt-get update

                                    sudo apt-get upgrade

                                    sudo reboot (optional)

                                    sudo apt-get install build-essential libssl-dev libdb5.1-dev libdb5.1+±dev libboost-all-dev git

                                    sudo apt-get install libqtgui4
                                    sudo apt-get install libminiupnpc-dev
                                    sudo apt-get install qttools5-dev-tools qttools5-dev
                                    sudo apt-get install qrencode
                                    sudo apt-get install libqrencode-dev

                                    Next: Close Terminal
                                    [/quote]
                                    [quote]
                                    Install QT-Creator (Software center)

                                    Open Terminal

                                    git clone https://github.com/FeatherCoin/FeatherCoin.git

                                    [or for the beta test version : git clone https://github.com/FeatherCoin/Feathercoin-0.8.5.git]

                                    Run QT-Creator
                                    File - open file or project (/Home/User/feathercoin/feathercoin-qt.pro)

                                    Build Menu.
                                    Build -> Clean
                                    Build -> qmake
                                    Build -> Build

                                    (Press 4. (Bottom right) Compile output.
                                    [/quote]
                                    [quote]
                                    To enable QR codes buttons and Receive - mouse right click.

                                    In QR Creator - click projects button
                                    Under build steps, Click QMake details
                                    Then add USE_QRCODE=1
                                    You can then change the {version} to release or debug and set USE_QRCODE=1
                                    .
                                    You can change which version is Compiled by clicking the (project name) button at the bottom left of the QT_Creator window.

                                    Go through the build process, to build the version with QR Codes enabled.

                                    See attached image of the QT-Creator - Projects button window, to see how to set qmake parameters.
                                    [/quote]
                                    [quote]
                                    Make link to run /feathercoin-qt-Debug/build/

                                    In Kubuntu ->
                                    Right click Menu Button - edit Applications -> menu
                                    Internet -> New Item in menu -> Feathercoin
                                    command /home/user/feathercoin-qt/feathercoin-qt
                                    save
                                    [/quote]

                                    I suggest then cloning the Virtualbox, before any potentially destructive tests.

                                    [quote]
                                    There are some commands loine options you can run on the client which can be useful whilst testing. A list is available from the Feathercoin-qt debug window, command line options button.

                                    rescan recreates the block database index, you can restrict or or enhance your nodes with maxconnections.

                                    -maxconnections=30 or -rescan

                                    Do not go below 8 connections, as there is a minimum requirement.
                                    [/quote]
                                    [quote]
                                    Build Instructions from Github.

                                    You can find instructions in the doc folder: https://github.com/FeatherCoin/FeatherCoin/tree/master/doc

                                    If you want a graphical version, see “readme-qt.rst” https://github.com/FeatherCoin/FeatherCoin/blob/master/doc/readme-qt.rst

                                    Otherwise, follow the instructions in “build-unix.txt”: https://github.com/FeatherCoin/FeatherCoin/blob/master/doc/build-unix.txt
                                    [/quote]
                                    [quote]
                                    Release and build Instructions from the source code /other files /docs

                                    release-process.md

                                    Includes information on building for different operating systems including W*ndows. It is for Litecoin as well.
                                    [/quote]
                                    [/quote]
                                    *cough* Ftc-Qt for *cough, cough* linux? *chough* When did that happen? :)

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

                                      The test guide has got un pinned. Please find it updated to start testing 0.8.6.1 development.

                                      1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User last edited by

                                        Pinning can be done by clicking “more reply options”, then on the right inside the drop down “After Posting”, you can change it from do nothing to “Pin this Topic”

                                        With that said, I have re-pinned it.

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