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-get
をyum
に無理やり置き換えたりして一応ビルドできはしました。ただ、もちろん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を直接いじります。
と言っても内容は簡単で、「–mgw46–mt–sd-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できるか眺めてみることにします。
最近のコメント