XP-Qt v1.1.0(GUI XP Wallet)をLinuxでビルドしてみる

最近仮想通貨周りがアツいので、初期投資0JPY・マイニングだけで貧乏投資をしてみています。
今更BTCとか元手が無くてゴミのようにしかならないので所謂「草コイン」で遊んでみたりしているのですが、その中でもメインにしてるというか最近盛り上がってる「eXperience Points」通称「XP」のウォレットをビルドしてみたのでそのメモです。
XPについては、調べれば無限にちゃんとした記事を書いてくれてる人がいるので割愛。


公式Linux用WalletはUbuntu環境+CUIのDaemon

WindowsでWalletを走らせていたんですが、PoS型通貨かつWalletのSteakで増やす形なら、一生付けっぱのCentOSサーバー機でWallet走らせればいいじゃん!と順当な感じで思ったのが最初。なので本家を探してみます。


うーん、思いっきりUbuntuって書いてあるね。しかもDaemon。ダメ元で落としてみたけどやっぱり動かなかったよ…
同じUNIXだしこの時パッケージ周りをちゃんと入れておけば動いたかもしれないけど、素人にCUIは不便だし断念。しょうがないのでGitHubに飛びます。


こっちもUbuntu。XPd-linux-compile-from-source.1.shはUbuntu用に書かれているのですが、shellスクリプトのapt-getyumに無理やり置き換えたりして一応ビルドできはしました。ただ、もちろんCUIのDaemonなので最悪の場合の保険という扱いに。

というわけで、今回は更にその下のSource codeを落としてこちらをビルドしていきたいと思います。環境はCentOS 7ですが、多分Redhat系のディストリビュージョンなら参考にはなるかも。


依存パッケージをぶち込む

GUI WalletはC++とかQtとか色々使っているので、必要なパッケージをぶち込んでおきます。これが苦労した…

おまじないしてgit・Development Toolsとか

入れてある人は飛ばして下さい。

$ sudo yum update
$ sudo yum install git
$ sudo yum groupinstall "Development Tools"

OpenSSL

Ubuntuとかだとlibsslに当たるのがopensslなのでopenssl-devをいれます。

$sudo yum install openssl-dev

The Berkeley DB

libdbとかに当たるやつです。
UbuntuだとPPAでBitcoinのリポジトリぶち込んでapt-getすればいいだけらしい。便利なこって
CentOSだとそもそもパッケージ自体が引っかからないので、「pkgs.org」を使って探します。



あった。「cxx」付きのやつがC++バージョンっぽいので、環境にあったバージョンを入れます。うちのCentOS 7の場合、libdb-cxx-devel-5.3.21-20.el7.x86_64.rpm

$ sudo yum install libdb-cxx-devel-5.3.21-20.el7.x86_64

Boost C++ Libraries

libboostに当たります。名前がCentOSだとboostになってるので、boost-develを入れます。

$ sudo yum install boost-devel

QR Encode

libqrencode

$ sudo yum install qrencode qrencode-devel

なんかデフォルトのリポだと見つからない的な情報もあったので一応RPM Forgeの追加方法も書いときます。インストールできてるなら飛ばしてよし。

$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
$ rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

qmake

Wallet本体がQtで書かれているので、ビルドの際にQtのライブラリが必要。その時に使うコマンドなのですが、デフォでは使えないのでこちらを参考にして入れます。

epel-7とかいうリポは存在しないので、/etc/yum.repos.d/qt.repoにbaseurlの部分のepel-$releaseverを、epel-6に書き換えて作ります。

$ vi /etc/yum.repos.d/qt.repo

[epel-qt48]
name=Software Collection for Qt 4.8
#baseurl=http://repos.fedorapeople.org/repos/sic/qt48/epel-$releasever/$basearch/
baseurl=http://repos.fedorapeople.org/repos/sic/qt48/epel-6/$basearch/
enabled=1
skip_if_unavailable=1
gpgcheck=0

[epel-qt48-source]
name=Software Collection for Qt 4.8 - Source
#baseurl=http://repos.fedorapeople.org/repos/sic/qt48/epel-$releasever/SRPMS
baseurl=http://repos.fedorapeople.org/repos/sic/qt48/epel-6/SRPMS
enabled=0
skip_if_unavailable=1
gpgcheck=0

で、インストール。

$ sudo yum -y install qt48-qt-webkit-devel

パスを通します。これだけだとそのセッションしかパスは保持されないので、恒久的に追加したい方は別途.bash_profileかどっかに書いておいて下さい。

$ sudo ln -s /opt/rh/qt48/root/usr/include/QtCore/qconfig-64.h  /opt/rh/qt48/root/usr/include/QtCore/qconfig-x86_64.h
$ source /opt/rh/qt48/enable
$ export PATH=/opt/rh/qt48/root/usr/lib64/qt4/bin/${PATH:+:${PATH}}

Let’s Build

さぁビルドしていきますよ。
本体をブラウザでもwgetでも良いから落としてきて展開します。

$ wget https://github.com/eXperiencePoints/XPCoin/archive/1.1.0.zip
$ unzip 1.1.0.zip

コンパイル。

$ cd XPCoin-1.1.0
$ qmake

このままだとmakeでmgw46周りがエラーを吐くので、こちらを参考にMakefileを直接いじります。


と言っても内容は簡単で、「mgw46mtsd-1_53」とある部分を全て消すだけ。お尻が1_5だったりするかもしれませんが、とにかく削る。mgw46の前のハイフンから最後の数字だけ削る

で、ビルド。

$ make -j4
main.h:961:24: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
         if (nHeight >= 0 || fTestNet)
                        ^

こういうWARNがめっちゃ出てきますが影響はないのでスルー。
うまくいくとディレクトリにXP-qtという実行ファイルができてるので実行します。Permission Deniedとか出てきたらGUIでもchmodでもいいので実行権限を付けてあげて下さい。

$ ./XP-qt

動かない

error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

キレそう!
どうやらlibQtGui.so.4というのが存在しないらしいのでぶち込んであげましょう。
まずはこれがどのパッケージに入っているのか検索。

$ yum provides libQtGui.so.4

...

1:qt-x11-4.8.5-13.el7.i686 : Qt GUI-related libraries
Repo        : base
Matched from:
Provides    :libQtGui.so.4

...

なるほど、qt-x11云々に入ってるのね。でもi686(32bit)版しか無いけど平気?
ってなるのでlistで検索。

$ yum list qt-x11*

...

Available Packages
qt-x11.i686             1:4.8.5-15.el7              updates
qt-x11.x86_64           1:4.8.5-15.el7              updates

なんだよあるじゃねえかてかprovidesで古いバージョンよこしやがったな?
入れます。

$ sudo yum install qt-x11

OK!
これで先程のXP-qtをコマンドラインから実行すればXPのGUI Walletが起動します。


既に割と弄ってあるサーバーでビルドしたので、上記の内容だけではエラーが消えきらなかったりビルドできなかったり起動しなかったりするかもしれません。その際はコメントでも残していただけると幸いです。へっぽこなので力になれるかは分かりませんが。たすけてつよいひと
今後は暫く少ないながらもSteakできるか眺めてみることにします。

Share this:

rexent_gx

インターネットクソオタク

おすすめ

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください