# HowTo: Build twister-core on jolla phone (twister social network from scratch)

From twister github page (https://github.com/miguelfreitas/twister-core):

What is twister?

twister is an experimental peer-to-peer microblogging software.

User registration and authentication is provided by a bitcoin-like network, so it is completely decentralized (does not depend on any central authority).

Post distribution uses kademlia DHT network and bittorrent-like swarms, both are provided by libtorrent.

Both Bitcoin and libtorrent versions included here are highly patched and do not interoperate with existing networks (on purpose).

Step by step guide to build your own (one file that needs to be modified is listed and provided as an alternative, but you should build from original sources for full trust):
(I'm root at this point as my phone is borked and requires root for pkcon)

pkcon install rpm rpm-build curl PackageKit tar make gcc gcc-c++ meego-rpm-config libstdc++-devel openssl-dev db4 db4-devel db4-cxx automake autoconf libtool boost-devel
git clone https://github.com/miguelfreitas/twister-core.git


or

git clone https://github.com/szopin/twister-core.git


to get the one file with 'fix' already in place (used only result with similar error as basis, not sure if it doesn't break anything, allows compile at least, as it is in waiting for message it doesn't seem critical, but pls have a look at it and suggest proper fix)

cd twister-core
./bootstrap.sh
./configure --disable-sse2


here if you are using original repo change line 1054 in file src/bitcoinrpc.cpp remove boost::placeholders:: from: deadlineTimers[name]->async_wait(boost::bind(RPCRunHandler, boost::placeholders::_1, func));

make
make install


Now you should have a working twister-core and daemon. To get the html interface: (this most likely should not be done as root)

 mkdir ~/.twister
cd ~/.twister
git clone https://github.com/miguelfreitas/twister-html.git html


Now you can start twister:

twisterd -daemon -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1