Building feathercoin
-
following 4 posts are moved from http://forum.feathercoin.com/topic/7843/
-
I am pissed: the documentation of building feathercoin is a real mess.
What is my problem?
I tried to build feathercoin-qt on Debian jessie. Yes, I could use binaries created by Wellenreiter. However, in doubtful situations, I prefer to build the binary by myself. So I cloned into the git repository and tried to make the binary.
First, I could not build the binary via Qt4, because make could not find some Qt5-includes. Why??? I specified Qt4 when starting the configuration script, but no effect.
So I tried to build it via Qt5, unfortunately, these STUPID zxing-headers are missing and THERE IS NO corresponding package for Debian 8 or even Ubuntu, also ZebraCrossing is not existend. Arghhhh, why do you put such dependencies, when they are not in the git-repository??? Are they even necessary for a base simple GUI???
The solution, but a dirty one, was, to use the deb-file from Wellenreiter which only consists of headers. After almost finishing building, make complained about some tests which failed. Luckily, the binary was produced and is working.
Again, the documentation for building feathercoin or feathercoin-qt is a mess. There is no hint where to find building information at the main page (https://www.feathercoin.com/#dls). And the stuff in the git-repository is not complete.
It is quite likely, that, as dumb as I am, I have overseen crucial information … ich hab so einen Hals, sooo einen Hals, arghhhh >:( !!!
So I puked out enough my anger, my next post in a few minutes will be a manual which works on Debian 8. You can delete, keep or move it and comment, what I did wrongly. Thanks.
-
I’m sorry that you had so much problems compiling the Gui.
The code was originally adapted on a windows based system and Qt5. What really is missing is a hint, that the Qt4 config option is broken.
Regarding the zxing dependency you either can try to run the configure script with option ‘use-qrencode=no’ or install the xzing libraryThe later you can do either by using my pre-compiled binaries for libzxing available as installation packages for a number of Linux distributions at:
https://software.opensuse.org/package/libzxing?search_term=libzxing (you need to check ‘unstable’ as libzxing is not part of the official distribution)
or use the source code available atgithub: https://github.com/search?utf8=✓&q=zxing-cpp
In any case, if you have problems to compile or install the feathercoin wallet place post in the support category of the forum and we will do your best to support you
-
This manual is for a i386-Debian 8-system (Jessie).
Start via:
sudo apt-get update
Install some necessary packages, I am not sure what is really needed since this is stuff is needed for building namecoin-qt but maybe some of the feathercoin developers can enlighten me:
sudo apt-get install libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-program-options-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev libboost-dev libminiupnpc-dev git qt4-qmake libqt4-dev build-essential qt4-linguist-tools libssl-dev
Install additional packages needed for feathercoin:
sudo apt-get install libboost1.55-all-dev autogen dh-autoreconf pkg-config libqrencode-dev libprotobuf-dev protobuf-compiler qtbase5-dev libqt5core5a libqt5gui5 libqt5dbus5 qttools5-dev qttools5-dev-tools
Now, suppose, that we are in
/home/user/stuff
We need Berkeley-DB 4.8 (do we???), get it:
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
tar -xzvf db-4.8.30.NC.tar.gz
Make directory for installing db-4.8 since we don’t want to install it in the system:
mkdir /home/user/stuff/db-4.8
Now, build db-4.8:
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/user/stuff/db-4.8
make
make install
Get this stupid zxing-library which seems not to exist (sorry, but no other coin needs this):
wget http://download.opensuse.org/repositories/home:/wellenreiter01/Debian_7.0/i386/libzxing_1.0-1.0_i386.deb
dpkg -i libzxing_1.0-1.0_i386.deb
(It only contains headers, alternatively one could install them via
ar -x libzxing_1.0-1.0_i386.deb
tar -xzvf data.tar.gz
and then copying the headers to the corresponding place by hand.)
Finally, we build feathercoin:
git clone https://github.com/FeatherCoin/Feathercoin.git
cd Feathercoin
./autogen.sh
./configure LDFLAGS="-L/home/user/stuff/db-4.8/lib/" CPPFLAGS="-I/home/user/stuff/db-4.8/include/" --with-boost-libdir=/usr/lib/i386-linux-gnu --with-gui=qt5
make
Building ends with an error message, but the feathercoin-qt binary should be located in src/qt.
Good night.
-
My recommendations:
1.) And MOST IMPORTANT, put some documentation to the source code part of the wallet page (https://www.feathercoin.com/#dls). In the moment one ends directly in the git repository. And I tried to build the current snapshot. E.g. what is a version guaranteed to work? Something like
git clone https://github.com/FeatherCoin/Feathercoin.git
cd Feathercoin
git checkout <hash>
would be nice.
2.) Put sufficient information to doc/build-unix (and clearly also to the other OS’), e.g., “use-qrencode=no” is not part of the documentation. Also the connection between qrencode and zebracrossing is not obvious!
3.) DO NOT HIDE this essential information in a forum. Might be possible that everything can be found here. However, people do not want to work through hundreds of posts until they find some potential solution to there problem.
Thanks
-
We will do our best to improve the documentation.
@curiosity81 said:We need Berkeley-DB 4.8 (do we???), get it:
The configure script checks for Berkeley-db 5.1 and 4.8 so this may not be needed
-
There is no configure parameter
use-qrencode=no
It is not accepting this, or
-use-qrencode=no
--use-qrencode=no
It accepts
--with-qrencode=no
but configure ends with a warning that this parameter is unknown. I also tried combinations with libzxing and similar with no effect.
-
Ahhh … somewhere else you wrote, that building with no libzxing is done via
--with-qrcode=no
this seems to work. So the configuration call would look as follows:
./configure LDFLAGS="-L/home/user/stuff/db-4.8/lib/" CPPFLAGS="-I/home/user/stuff/db-4.8/include/" --with-boost-libdir=/usr/lib/i386-linux-gnu --with-gui=qt5 --with-qrcode=no
-
No! Did not work. Building ends with
snapwidget.cpp:10:51: fatal error: zxing/common/GlobalHistogramBinarizer.h: No such file or directory
#include "zxing/common/GlobalHistogramBinarizer.h"
So in the moment one has to compile it with xzing …
-
Too bad :(
Fixing autogen and configure scripts is not my favrourite as I’m not familiar with the macro language they use, but I will try to fix it.
I see two problems here
- the use-qrcode=no option is not set automatically if no libzxing or no qrencode library is found
- even if you disable qrcode manually, the setting has no effect.
It’s on my todo list now
-
Last time I built this from the guide for FTC, no problem.
Unfortunately, the forum search, or the pinning of important pages has been lost with the move over to the more open source forum.
I will continue to try to find that guide, and see if it still works on ubuntu 15.10
- just making a suggestion to update the new site with link through to miner + guide, it would also be good to have a link on the download source page + guide thread to compile your own version . With little work, just updating what we got, this will save many support issues and most FAQ’s new members have.
I’m also pretty sure a compile guide from namecoin might not be applicable, and we are doing work fixing their guide, better spent on FTC’s.
-
@wrapper
The forum search is still there, as well as the pinning functionality, which is availabe to moderators.For the forum search click on the magnifying-glass symbol in the upper right area of the page, left of the bell symbol.
‘Pin Topic’ can be found by operators under the Topic tools pull down -
@wrapper Nope, Namecoin works differently: clone it from git, enter the directory, do
qmake
and thenmake
. Done. Provided the dependencies are available. -
@curiosity81 said:
@wrapper Nope, Namecoin works differently: clone it from git, enter the directory, do
qmake
and thenmake
. Done. Provided the dependencies are available.That has been the case for Feathercoin, too up to version 0.8.7.X.
These Versions used Qt4, so I assume that Namecoin ist build on Qt4.Since v0.9.x Feathercoin-Gui is build on Qt5 and the make process is different.
You may have noticed, that the Qt4 verions of Feathercoin 0.9.X does abort with complie errors, so Qt5 is the only option available.
-
@curiosity81 Manual still works for the current version 0.9.6.0 of feathercoin-qt and there is no error message anymore.