【ソフトウェア】debianにおけるbitzenydコンパイル方法

某所で話が出ていたついでにメモを兼ねて書いておきます。

公式の方法ではうまくいかない部分があるので、そちらでやる場合の手直し方法と上位バージョンのパッケージでやる方法の2通り(正確には3通りですが)を解説していきます。

 

そもそも何が問題なのか?

そもそも、この問題が起こるのはdebian7系での話です。 実は7系ではlibdb-devとlibdb++-devの5.1が提供されているのですが、これらがチェックではじかれるために今回の問題が起きているようです。

なお、LTSが提供されている6系では4.8のlibdbが提供されています。 そのため特にリポジトリの追加を行わなくても、1の手順とlibdb4.8-dev,libdb4.8++-devを導入するだけで、3以降のコンパイルも問題なく進んで行ってしまいます。(ちなみにmonacoindやkumacoind,ringodでは特別追加をしなくてもlibdb5.1で問題なく進みます)

そのため、ここではそのlibdbの4.8を別リポジトリから引っ張ってくるための方法と5.1でbitzenydをコンパイルする方法を全体の流れとともにまとめて記述しておきます。(5.1を使う方法は他の系統でも参考になるかもしれません)

 

1.事前準備(共通部分)

まずは事前にビルドに必要となるパッケージの導入を行います。 debian系では基本的に必要最小限のビルドツールは「build-essential」で導入されますが、今回は「autoconf」等も必要になるため導入しておきます。 それに加えてbitzenydコンパイルに必要なライブラリである「libssl-dev」や「libboost-dev」、gitからソースを取得するために「git」も導入しておきます。 これらをapt-get,aptitudeなど自分の使っているパッケージ管理ツールで導入します。

build-essential libtool autotools-dev autoconf libssl-dev libboost-all-dev pkg-config git

 

2-1.libdbの導入(公式で既にあるパッケージを利用)

※他のリポジトリから引っ張ってくる場合は2-2へ進んでください。

公式リポジトリのlibdbを利用する場合は、以下のパッケージを導入してください。

libdb5.1-dev libdb5.1++-dev

これでこちらの場合におけるだいたいの下準備は終了です。

 

2-2.libdbの導入(その他リポジトリを使用)

※2-1で導入が終わった方は読み飛ばして3へ行って構いません

こちらの場合はまず、apt系統で参照するリポジトリを追加する必要があります。 追加候補は公式で記述されているubuntuのものか、ひとつ前のバージョンであるdebian6系のリポジトリとなります。

2-2-1.ubutuリポジトリで導入

まずは、ubuntuのリポジトリの場合です。 こちらの場合は以下のコマンド実行後に、sources.list.d内にある記述を手直しする必要があります。

add-apt-repository ppa:bitcoin/bitcoin

コマンド実行後に確認を求めてきますので、エンターを押して続行します。

その後、コマンドによって作成された「/etc/apt/sources.list.d/bitcoin-bitcoin-wheezy.list」内の該当する記述を赤い部分のように修正する。(trustyはubuntuでいう14.04 LTSを示すものです)

bitcoin-bitcoin-wheezy.list

deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu trusty main
deb-src http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu trusty main

あとはaptでupdateしsearchして以下のパッケージが見つかれば、それらを導入しこちらの下準備は完了です。

libdb4.8-dev libdb4.8++-dev

2-2-2.debian6系のリポジトリで導入

こちらはdebianの旧バージョンである6系(squeeze)のリポジトリを利用してパッケージの導入を行う方法です。

まずは「/etc/apt/sources.list.d/」内に「squeeze-repo.list」を以下の内容で作成します。

squeeze-repo.list

deb http://ftp.debian.org/debian squeeze main contrib non-free
deb http://security.debian.org squeeze/updates main contrib non-free
deb http://http.debian.net/debian squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian squeeze-lts main contrib non-free

作成したらパッケージ管理ツールでupdateをかけ、以下のパッケージが存在することを確認したらそれを導入する。

libdb4.8-dev libdb4.8++-dev

 

3.gitからソースをダウンロード

ソースをダウンロードしても問題ない場所で以下のgitコマンドを用い、bitzenydのソースをダウンロードしてくる。 なお、URLの後ろにスペースを挟んでフォルダ名を指定すれれば、その名前で今いる場所にコピーしたものがおかれる。(何もない場合は元に設定されている名前を使用する)

git clone https://github.com/bitzeny/bitzeny.git
cd bitzeny

実行が完了したら、gitの後のコマンドでフォルダ内に移動する。(フォルダ名を変更している場合はその名前のフォルダに移動)

 

4-1.bitzenydをコンパイル(libdb5.1を利用時)

まずはベースとなるconfigureファイルを生成するために、「autogen.sh」を実行してconfigureを生成する。 その後configureを引数をつけて実行する。 この時のポイントは引数として「–with-incompatible-bdb」をデフォルトに追加する点であります。(最初の–は-二つ分です) その他は基本libdb4.8を利用した場合と同じです。

./autogen.sh
./configure –without-miniupnpc –without-gui –disable-tests –with-incompatible-bdb
make

これでコンパイルは終了です。

 

4-2.bitzenydをコンパイル(libdb4.8を利用時)

こちらの場合は、基本的に公式に書いてある方法でコンパイルが可能であります。

./autogen.sh
./configure –without-miniupnpc –without-gui –disable-tests
make

コンパイルが完了したら次へ進みます。

 

5.bitzenydをインストール

インストール方法は二通りあります。 一つは実行ファイルの参照パスにbitzenydをコピーする方法で、もうひとつは「make install」を使用する方法です。(どちらでやるかは好みで選んでください) なお、どちらでやるにしてもroot権限が必要な作業ですので、sudoなどでコマンド実行に権限を与えてあげてください。

実行ファイルをコピーする場合は「bitzeny/src」内に存在する「bitzenyd」を「/usr/bin」にコピーすれば完了です。

(gitでコピーしたbitzenyにいる仮定で始めます)
cp src/bitzenyd /usr/bin

もうひとつの方法は「make install」を使用する方法です。 こちらはgitでクローンしたフォルダにてmake installを実行するだけです。

(gitでコピーしたbitzenyにいる仮定で始めます)
make install

以上でインストールは終了です。 あとは「bitzenyd –daemon」で起動でき、bitzenydに続けてコマンドを打つことでそのコマンドに対応する情報が表示されます。 が、このままではまだrpcコマンドを受け付けることができません。 そのため、起動ユーザーのホームディレクトリにある.bitzenyフォルダ内に「bitzeny.conf」を作成します。

bitzenyd stop (稼働させている場合のみ)
cd ~/.bitzeny
mkdir .bitzeny (フォルダが生成されていない場合のみ)
vi bitzeny.conf

記述内容(bitzeny.conf)

server=1
rpcallowip=localhost
rpcuser=rpcuser
rpcpassword=rpcpass

なお、rpcuser・rpcpassは適当なものに変えておくことを推奨します。

 

以上で基礎的な設定は終了です。

「bitzenyd」に続けて入力可能なコマンドは、helpを参照してください。

 

その他、インストールで困った点があればコメントまでお願いします。

投稿者プロフィール

monaf
mona digestの管理人でもあります。 こちらは向こうでは外れてしまうような内容を中心にお送りしてまいります。

monacoin:MMditkELuURZgDPduLDLGYArA15G7nWFo3
kumacoin:KHtxC7CdYUUfXLEEprxoN8re58ckhNbSwb
ringo:RVQNKVMRcJ8dCH687zQo3nDUN7JXgoRdid
bitzeny:ZboAKf49TpBg5ef9vSXxNbajmyyjZNNCat

About Author

monaf
mona digestの管理人でもあります。 こちらは向こうでは外れてしまうような内容を中心にお送りしてまいります。 monacoin:MMditkELuURZgDPduLDLGYArA15G7nWFo3 kumacoin:KHtxC7CdYUUfXLEEprxoN8re58ckhNbSwb ringo:RVQNKVMRcJ8dCH687zQo3nDUN7JXgoRdid bitzeny:ZboAKf49TpBg5ef9vSXxNbajmyyjZNNCat

1 Comment

  1. Pingback: 【雑記】MPOS+stratum-miningによるマイニングプール構築法2 – MDの雑記帳

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です