I decided to write a small post about my new 3.7.8 experiences, because I've been waiting this update for a long time. :)
All of the below mentioned versions are the headless daemons, not the GUI wallets.
TL;DR - Most of this post is about compiling the daemon on Raspberry Pi, and some extra unuseful infos :D
First I installed the new freshy daemon from PPA on my Ubuntu 14.04 server, which was (magically) working fine during the whole forksplosion with 3.7.7.
Nothing special happened, it worked as expected.
Then came the interesting part. I was curious what will the new version do with my Ubuntu 16.04 server, which already had 3.7.7 installed...
I've tried to fix its forking issues several times before. Syncing from block 0, syncing from snapshot, copying the whole blockchain from the 14.04 machine, add the 14.04 as a node in config...
And after a day it was on a fork again... And again... :D
Finally I gave up, and decided to stop playing with this, because I didn't want to become a fulltime forkaholic. :)
And then, the magic happened! I've upgraded it to 3.7.8 and it resynced my blockchain to the right fork in minutes!!!
It worked like a charm ^_^
I was excited, so I've decided to upgrade my working, synced 3.7.7 Raspberry Pi wallet too...
Hmm... It wasn't a good idea, because meanwhile I've forgotten that I had issues with the PPA version previously.
This Pi is running Ubuntu Mate 16.04 and I absolutely don't know why it doesn't like the version downloaded from PPA...
The daemon crashes when it tries to load the wallet.
I had no more options than compiling it from source. Previously it wasn't an easy ride, because my OS was missing some required dependent libraries. (Of course now I don't remember which ones were missing...)
But as we know Google is our friend, so searching for the error messages always gives some directions to those who are as noobs as me :D
But finally I've got a gridcoinresearchd binary! I've started it, aaaaaand...
Crashed again... OMG :/
After some googling I've found the ultimate solution which fixed it.
Let's see the instructions from http://wiki.gridcoin.us/Linux_guide :
(Please check first the dependencies section there)
cd ~ git clone https://github.com/gridcoin/Gridcoin-Research cd ~/Gridcoin-Research git fetch --all git reset --hard origin/master cd ~/Gridcoin-Research/src mkdir -p obj/zerocoin && chmod +x leveldb/build_detect_platform make -f makefile.unix clean
And then, stop here for a moment.
Let's change the
And search this row:
xCXXFLAGS = -O2 $(EXT_OPTIONS) -std=c++11 -pthread -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter \ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
-O2 from there then save the file with
CTRL-O, and exit from editor with
Now you can compile your new Gridcoin daemon:
make -f makefile.unix USE_UPNP=-
If you still have some weird errors during complie, it's possible you don't have enough RAM. To free up some, I must terminate the whole graphical interface, with this command: (Xubuntu Mate with Xfce)
sudo service lightdm stop
And if everything is fine, then install the compiled binary:
strip gridcoinresearchd sudo install -m 755 gridcoinresearchd /usr/bin/gridcoinresearchd
Aaaand... Finally it works well. Synced, stable, everything is fine.
I absolutely don't know what does this
-O2 mean, because I'm not a C++ expert, and of course I was too lazy to google it. I've found this on some forum, where a guy suggested it. And it worked. :)
I hope this post can help those Pi guys out there who are so enthusiastic to use it as a Gridcoin wallet.