no-image

BitZeny のマイナーを Win 環境向けにビルドする

Linux 環境上で Windows 向け minerd.exe をクロスコンパイルするお話。64bit 版 Windows 向けです。 DLL を一緒にコピーするのが手間なので、static link にして単一バイナリで minerd.exe を生成します。

マイニング環境の CPU に合わせて最適化するため、Windows 上で VirtualBox を使って Ubuntu 17.10 の仮想環境を構築して行います。今回 Debian ではなくて Ubuntu なのは何となくの気まぐれです。普段は Linux では CUI 環境しか使わないのですが、結果的に GUI 環境があったおかげでバイナリの Windows 環境への移動が少し楽でした。

参考文献

下準備

$ sudo apt-get update
$ sudo apt-get upgrade

ビルド環境の準備

$ sudo apt-get install build-essential automake mingw-w64-x86-64-dev g++-mingw-w64-x86-64
$ sudo apt-get install git

ソースの取得とビルド

$ git clone https://github.com/nezumi-tech/cpuminer
$ cd ./cpuminer/deps/
$ sh ./build_win_deps.sh
..............
.....<略>.....
..............
$ cd ..
$ autoreconf -fi -I./deps/x86_64-w64-mingw32/share/aclocal
$ ./configure --host=x86_64-w64-mingw32 CFLAGS="-Ofast -march=native -flto -funroll-loops -fomit-frame-pointer" -I./deps/x86_64-w64-mingw32/include -std=c99 -DWIN32 -DCURL_STATICLIB -DPTW32_STATIC_LIB" --with-libcurl=deps/x86_64-w64-mingw32 LDFLAGS="-L./deps/x86_64-w64-mingw32/lib -static"
$ make

もし途中でこけたら

コンパイルオプションをいじったりすると途中でビルドがこけることがある。とりあえず一回、make clean; make し直してみる。それでだめなら考える。

$ make clean
$ make

以上の手順で minerd.exe が生成されているはずなので、Windows 環境にコピーするなり移動するなりして使います。

ベンチマーク

BitZeny 公式 Windows 64bit 11/10版 SSE4.1

minerd.exe -a yescrypt --benchmark

nezumi_tech さんの改良版

minerd.exe -a yescrypt --benchmark