Macmini (OSX 10.12)でcpuminer-multiのビルド手順、再整理してみた

cpuminer-multiのビルドに関しては
右往左往しながら、数種類の手順を試してきましたが
今までビルドできたのに、あるとき急にできなくなったり・・

以前のビルドができなくなったため、今の自分の環境でビルドできた方法を
忘備録として加えておきます。
最新の更新<2017.12.17>


手順は、一旦ほぼほぼアンインストールして
もう一度、再インストールし直すところから書いてます。
アンインストールはやりすぎだろ!という方は、すっ飛ばして下さい。

参考にさせていただいたサイトの皆様、ありがとうございました。

▼目次

  1. 入ってる物をアンインストール
  2. もろもろ再インストール
  3. いよいよcpuminer-multiのビルド
  4. Monacoinのマイニング方法

cpuminer-multi ビルドの再整理

ビルドしなおすにあたり、環境を入れ直すことから始めました。
アンインストールしない場合は、飛ばして先へどうぞ。

アンインストールなどしなくても、ビルドできるかもしれないので
ひとまず、必要なもののインストールとビルドを試してみるほうがいいかもしれません。
そこらへんの判断は、各自でお願いします。

入ってる物をアンインストール

※必要ない方は、アンインストールしなくてもいいと思います。
あくまでも、すっきりとビルドしたかったからです。

♦︎Xcodeのアンインストール
方法:アプリケーションホルダの中の、Xcode.app をゴミ箱に入れる。

♦︎Command Line Toolsのアンインストール
方法:「/Library/Developer
/CommandLineTools」フォルダを削除

♦︎Homebrewのアンインストール
ターミナルでコマンド実行

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

途中で
Are you sure you want to uninstall Homebrew? This will remove your installed packages! [y/N] と聞かれるので、y

The following possible Homebrew files were not deleted:
...
/usr/local/etc/
/usr/local/share/
/usr/local/var/
...
You may wish to remove them yourself.
と表示されるので、これらを手動で削除。
※自己責任で行ってください。

♦︎Finkのアンインストール
finkのUninstallはほとんどのファイルがswに集まっているので、swフォルダ毎削除する

$ sudo rm -rf /sw


以上でアンインストール作業完了。
目次へ戻る

もろもろ再インストールしていきます

まず、自分のMacminiの環境はこんなでした。

♦︎Xcode、Command Line Toolsをインストールする
インストールしたバージョン
♦︎Xcode 8.3.3
♦︎Command Line Tools(macOS 10.12) for Xcode 8.3.2
古いバージョンのXcode、Command Line Toolsは下のリンクから。
https://developer.apple.com/download/more/

ここで、自分の場合は先ほど
全部アンインストールしまったせいか、次のHomebrewのインストール時に「https」がサポートできなくなったので、ひとまず、Xcode標準のcurlのパスを通しておく。

$ echo export PATH=/usr/bin:$PATH >> ~/.bash_profile
$ source ~/.bash_profile

♦︎Homebrewをインストールする

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストール完了後、

$ brew doctor

<自分の場合に表示された、Warning>
sgminerの中にある、curl-conf がなんちゃらってwarningでてたから
それを捨てたら、大丈夫になった。sgminerのバックアップも取った。

無事に以下が表示された
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!
これらの警告は、Homebrewのメンテナ
問題を提出すればデバッグが可能です。 あなたがHomebrewを使うすべてが
うまく動作します:心配しないで、無視してください。 ありがとう!

♦︎curlのインストール

$ brew install curl

念のため、インストール後に、このcurlのパスを通し直しておく。
バージョンの部分(ピンクの数字)は、各自のバージョンにして下さい。
「ls /usr/local/Cellar/curl/」でバージョンの確認ができると思います。

$ echo export PATH=/usr/local/Cellar/curl/7.57.0/bin:$PATH >> ~/.bash_profile
$ source ~/.bash_profile

確認して見ます。

$ which curl


/usr/local/Cellar/curl/7.57.0/bin/curl とでたのでOK

♦︎janssonのインストール

$ brew install jansson

次の、php56-pthreadsのインストールの前に

php56を使えるようにするためには、リポジトリを作成する必要があるらしく
次のコマンドを実行した。

$ brew tap homebrew/php

参考サイト:http://takemaru123.hatenablog.jp/entry/2014/11/27/224037

♦︎php56-pthreadsのインストール

$ brew install php56-pthreads

この時、インストールされたもの
autoconf
libpng
freetype
gettext
icu4c
jpeg
libxml2
libtool
unixodbc
readline
openssl
php56
homebrew/php/php56-pthreads

♦︎automakeのインストール

$ brew install automake

♦︎zlibのインストール

$ brew install zlib

ここで、opensslについて確認する

$ which openssl


/usr/bin/openssl これは標準のopenssl

さっき、一緒にインストールされたopensslのパスを通す
バージョンの部分(ピンクの数字)は、各自のバージョンにして下さい。
「ls /usr/local/Cellar/openssl/」でバージョンの確認ができると思います。

$ echo export PATH=/usr/local/Cellar/openssl/1.0.2m/bin:$PATH >> ~/.bash_profile
$ source ~/.bash_profile

再度確認

$ which openssl


/usr/local/Cellar/openssl/1.0.2m/bin/openssl 無事に変更できた。

目次へ戻る

いよいよcpuminer-multiのビルド

♦︎ソースコードをダウンロード

$ git clone https://github.com/tpruvot/cpuminer-multi

cpuminer-multiホルダに移動

$ cd cpuminer-multi

♦︎ほんの少し前までビルドできた手順

$ ./autogen.sh
$ ./nomacro.pl
$ ./configure CFLAGS="-march=native" --with-crypto --with-curl
$ perl -p -i -e "s/#if \(WINDOWS\)/#define ASM 0\n#if (WINDOWS)/g" algo/neoscrypt.c
$ make

参考サイト:https://bitcointalk.org/index.php?topic=841401.msg13025434#msg13025434

♦︎♦︎現在の自分の環境でビルドできた手順

$ sed -i -e "s/INCLUDES/AM_CPPFLAGS/g" Makefile.am
$ ./autogen.sh
$ ./nomacro.pl
$ ./configure --disable-assembly CFLAGS="-Ofast -march=native" --with-crypto --with-curl
$ make

参考サイト:
http://www.neko.ne.jp/~freewing/raspberry_pi/orange_pi_pc2_bitcoin_mining_cpuminer/

無事に「cpuminer」ができれば完了です。



目次へ戻る

なお、この記事ではビルド手順のみ書いてますが、
モナコインのマイニング方法などは以前の記事にあります。

MonaCoinをMac mini (OSX10.12)でプール採掘!- cpuminer multi 編
▼目次 必要なものをインストール cpuminer-multiのビルド NEW! Monacoinのマイニング 異なる...
Macmini (OS Sierra) でMonacoinをソロマイニングする環境作り - cpuminer multi 編
Monacoinをソロマイニングする環境作り うちのMacminiでは、採掘作業は稼働しましたが、非力なためソロで報酬を得るまでは至っ...

目次へ戻る