以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

暗号通貨のqtウォレットをCentOSでコンパイルする時のメモ

少し苦戦したのでメモ。
CentOSを含むRedHat/FedoraLinuxのOpenSSLは暗号通貨が使う一部機能が搭載されていないようで*1、普通にコンパイルして起動してもエラーを吐いて強制終了する。
なので、OpenSSLをダウンロード&コンパイルしたあと、コンパイルしたい暗号通貨のソースをtarballなりgit cloneなりで取ってきて、以下のようにOPENSSL_INCLUDE_PATHなどにパスを指定してqmake後、makeする。念のためBerkeleyDB(BDB)のソースもダウンロード&コンパイルしておいたほうがいいかも(どっかの真似で--enable-cxx,--enable-staticを付けてconfigure; makeする)。

$ qmake-qt4 USE_QRCODE=1 USE_UPNP=- USE_DBUS=1 \
  BOOST_LIB_SUFFIX=-mt \ 
  OPENSSL_INCLUDE_PATH=../openssl-1.0.1g/include \
  OPENSSL_LIB_PATH=../openssl-1.0.1g \
  BDB_INCLUDE_PATH=../db-4.8.30/build_unix \
  BDB_LIB_PATH=../db-4.8.30/build_unix
$ make
  • ソースのルートディレクトリ(bitcoin-qt.pro(名前は異なるかも)がある)で行う。
  • CXXFLAGS,LDFLAGSなどは多分効いてない模様。
  • USE_QRCODE=1*2はqrencode-develが必要。これは普通にyumでインストール。
  • UPnPを使う環境の場合はUSE_UPNP=-は取っておく。miniupnpc-develが必要(なお、MINIUPNPC_INCLUDE_PATHなどが使える模様なのでソースを取ってきてコンパイルもOK)。
  • USE_DBUS=1*3dbus-develが必要。
  • BOOST_LIB_SUFFIX=-mtを付けているのは、付けないと最後のldでboost_threadが無いよエラーを吐くため。
  • ほとんどのコインに通用するかも。
    • 今日SakuracoinとSayacoinとSha1coinをコンパイルしました。
      • boost特有のメモリバカ食いのおかげでswapを増設しました。

*1:調べた感じ。すべてのRedHat/Fedoraディストリビューションで確認したわけではない

*2:アドレス入りのQRコードを生成する機能

*3:入金時などに通知してくれる機能