Kumacoin-Qt Wallet for Ubuntu

ubuntu 16.04

必要ライブラリを用意

sudo apt-get install build-essential libssl-dev libdb5.3-dev libdb5.3++-dev libqrencode-dev libminiupnpc-dev
sudo apt-get libboost1.58-all-dev
git clone https://github.com/kumacoinproject/kumacoin.git --depth=10

ビルド実行

cd kumacoin
qmake
make -j4

これでkumacoin-qtができているはず
あと、

cd src
make -f makefile.unix -j4

でkumacoindも生成できる。

ビルドできませんか?

  • g++のバージョンが4.6など古い時は以下の様にオプションが必要です
    make -f makefile.unix -j4 EXT_OPTIONS='-std=c++11'
  • libboost1.58-all-devがnot foundとなる時
    最近のBoostは1.65にバージョンが上げられ上記のコマンドでは対応できなくなったので以下の様にマニュアル的にインストールする必要がある
    wget https://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.zip/download
    unzip download
    cd boost_1_58_0/
    ./bootstrap.sh
    ./b2
    sudo ./b2 install
  • Bignumでエラーが起きる時
    SSLのバージョンがあわない、openssl-1.0.2gのをソースよりインストール
    wget wget http://www.openssl.org/source/openssl-1.0.2g.tar.gz
    tar xzvf openssl-1.0.2g.tar.gz
    cd openssl-1.0.2g/
    ./config shared zlib
    sudo make install
  • /usr/bin/ld: cannot find -lssl
    Pathが通っておらずldがライブラリを発見できない。SSLだけ場所が特異なせいです。
    sudo ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/local/lib/libcrypto.so
    sudo ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/local/lib/libssl.so
    ビルド時はheaderをIncludeするのを忘れずに
    make -f makefile.unix -j4 EXT_OPTIONS='-I/usr/local/ssl/include'

ubuntu 18.4 bionic

  • 必要ライブラリを用意
sudo apt install build-essential libssl-dev libdb-dev libdb++-dev libqrencode-dev libminiupnpc-dev  bzip2 libbz2-dev zip unzip openssl
sudo apt install libboost-all-dev
  • Gnome、Cinnamon、MATE、xfceなどのGTK系のデスクトップ環境をご利用の方はqt4のインストール
sudo apt install qt4-default libqt4-dev libqt4-dev-bin qt4-dev-tools qt4-doc
  • libboost1.58-all-devが別途必要になる為、ソースよりインストール、ダウンロードパスは/user/local/bin/と仮定します。
cd /usr/local/bin/
wget https://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.zip/download
unzip download
rm download
cd boost_1_58_0/
./bootstrap.sh
./b2
sudo ./b2 install
  • 以下の様なメッセージが出ればインストール成功です。
The Boost C++ Libraries were successfully built!
 
The following directory should be added to compiler include paths:
 
  /usr/local/bin/boost_1_58_0
 
The following directory should be added to linker library paths:
 
  /usr/local/bin/boost_1_58_0/stage/lib
  • Kumacoinのソースを入手します。ダウンロードパスは/user/local/bin/と仮定します。
cd /usr/local/bin
git clone https://github.com/kumacoinproject/kumacoin.git --depth=10
  • Kumacoinビルドの下準備。
cd kumacoin
qmake
  • /usr/local/bin/kumakoin/に生成されたMakefileを編集します。
nano ./Makefile

19行目辺りにある、"-L/usr/lib/x86_64-linux-gnu" を"-L/usr/local/bin/boost_1_58_0/stage/lib -L/usr/lib/x86_64-linux-gnu"に書き換えます。
書き換え終わったらctrOで上書き保存、ctrXでnanoを終了します。

  • Kumacoin-qtのビルド
make

以上で/user/local/bin/kumacoin/に"kumacoin-qt"のバイナリファイルが生成されていると思います。
この後、

cd src
make -f makefile.unix BOOST_LIB_PATH=/usr/local/bin/boost_1_58_0/stage/lib

で/usr/local/bin/kumacoin/src/に"kumacoind"が生成されていると思います。

以上を試してもうまくいかない時(一部ライブラリを静的リンクにする)

  • makefile.unixに
    STATIC = all
    を追加します。
  • さらにmakefile.unixの中を
     ifdef STATIC
         LMODE = static
         ifeq (${STATIC}, all)
             LMODE2 = dynamic
         endif
    のように、ifdef STATICの中のLMODE2 をdynamicに変更します。
  • ビルドする
    make -f makefile.unix EXT_OPTIONS='-I/usr/local/ssl/include' BOOST_LIB_PATH=/usr/local/bin/boost_1_58_0/stage/lib
    を実行します。