LoginSignup
40

More than 3 years have passed since last update.

技巧をMac環境で使う

Last updated at Posted at 2016-06-03

先日コンピュータ将棋選手権で脚光を浴びた将棋ソフト、技巧のソース・バイナリがgithubにて公開されました。

将棋ソフト「技巧」 githubサイト

技巧は動作環境の条件も緩く、Max OS X環境でも容易に実行可能とのことなので早速使用してみました。
その時のtipsを以下にまとめておきます。

本記事で用いたMac環境

MacBook Air(Mid 2012:Intel Core i5 1.8GHz、DDR3 4GB)
Mac OS X 10.11.5(El Capitan)
gcc 4.9.3
Homebrew 0.9.9
Git 2.8.0
Java for Mac OS X

!!!注意!!!
本記事ではターミナル上(MacOSに標準インストールされているターミナル.appなど)にて
Unixコマンドを使用します。予めご了承ください。

HomebrewとGitのインストール

// homebrewのインストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

// Gitのインストール
brew install git

技巧ソースファイル群より実行ファイル生成

まず上記githubサイトより技巧のリポジトリをgit cloneコマンドにてクローンし、
READMEの内容通りにクローンしたフォルダへ移動後にmake releaseコマンドを実行すると、
以下の様なエラーが出るケースがあります。

git clone https://github.com/gikou-official/Gikou.git
cd Gikou
make release

clang: error: unsupported option '-fopenmp'
make[1]: *** [obj/release/src/bitboard.o] Error 1
make: *** [release] Error 2

make releaseがエラーになる原因

これはMacの標準コンパイラがgccではなくclangであり、
clangでは-fopenmpオプションがサポートされていないのが原因です。
よって-fopenmpオプションに対応したgcc(ver 4.2以上)をHomebrewを用いてインストールします。
※本記事では都合によりgcc4.9をインストールしていますが、gcc5でも問題ありません。

make release実行時に参照するgccを設定する方法

まず既存gccのパス(プログラムが置いてある場所)をwhichコマンドにて調べます。

which gcc

which gccの結果が/usr/bin/gccならば、下記コマンドを実行してください。

brew install /homebrew/versions/gcc49
sudo ln -sf /usr/local/bin/gcc-4.9 /usr/bin/gcc
sudo ln -sf /usr/local/bin/g++-4.9 /usr/bin/g++

なお上記sudoコマンド実行時に、macにログインする際に用いるアカウントのパスワードが
必要となります。アカウントにパスワードを設定してないと実行できませんので、
下記サイトを参照してアカウントにパスワードを設定してやってください。
https://support.apple.com/ja-jp/HT202035

また上記sudo付加コマンドを実行した際にも、Operation not permittedと出力される場合には、SIP:System Integrity Protectionの一部設定を無効にする必要があります。
その詳細は以下のサイト等をご覧の上、対処してください。

EI Capitanでsudo付けているOperation not permittedが出た時の対処法
http://berukann.hatenablog.jp/entry/2015/12/30/123020

which gccの結果が/usr/local/bin/gccならば、下記コマンドを実行してください。

brew install /homebrew/versions/gcc49
ln -s /usr/local/bin/gcc-4.9 /usr/local/bin/gcc
ln -s /usr/local/bin/g++-4.9 /usr/local/bin/g++

上記いずれかのコマンド実行後にターミナルソフトを再起動し、gcc -vを実行
下記みたいな感じでgccのバージョン情報が出力されればOKです。

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc@4.9/4.9.3/bin/../libexec/gcc/x86_64-apple-darwin15.4.0/4.9.3/lto-wrapper
Target: x86_64-apple-darwin15.4.0
Configured with: ../configure --build=x86_64-apple-darwin15.4.0 --prefix=/usr/local/Cellar/gcc49/4.9.3 --libdir=/usr/local/Cellar/gcc49/4.9.3/lib/gcc/4.9 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp4 --with-mpfr=/usr/local/opt/mpfr2 --with-mpc=/usr/local/opt/libmpc08 --with-cloog=/usr/local/opt/cloog018 --with-isl=/usr/local/opt/isl011 --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew gcc49 4.9.3' --with-bugurl=https://github.com/Homebrew/homebrew-versions/issues --enable-plugin --disable-nls --enable-multilib
Thread model: posix
gcc version 4.9.3 (Homebrew gcc49 4.9.3)

その後改めてmake releaseを実行しビルドが完了すれば、./Gikou/bin/フォルダにreleaseという名のMac用実行ファイルが生成されます。

関連バイナリを取得する

次に技巧の実行に必要な付随のバイナリファイル(動作時に参照する定跡ファイル等)を取得します。

  1. まずgithubの技巧リリースページより、gikou_win_20160601.zipをダウンロードする。
  2. ダウンロードしたzipファイルを展開し、'gikou.exe'ファイル以外の全ファイルを先ほどビルド生成したreleaseという名のmac用実行ファイルと同じフォルダパスにコピー&ペーストする。

6.png

これで技巧が人間らしい手を指せるようになります。
※なおこの手順を飛ばしても技巧は実行できるようですが、端歩しか突かない等といった弱い手しか指しません。
(最初この手順を抜かしてたため、正しく実行されているのか悩みました・・・)

GUIアプリケーションを使って技巧と対局してみる

実際に技巧と対戦してみましょう。今回はMac環境でも使える将棋ぶらうざQを使用します。

1.将棋ぶらうざQ公式ページより、将棋ぶらうざQ(for Macバージョン)をダウンロードし、zip展開する。
2.将棋ぶらうざQを実行するにはJava for Mac OS Xが必須なので、必要に応じてインストールする。
3.1.にて展開したフォルダ内にあるSbrowserQ.appを実行。
4.メニューバーの[設定]->[将棋エンジン設定]を選択

スクリーンショット 2016-06-03 14.27.26.png

5.[追加]をクリック。

5.png

6..項目[エンジンファイルパス]のファイルを選択し、releaseファイル(のパス)を選択したら[追加]ボタンをクリックして終了。

4.png

これで対局時にエンジンとして技巧(本記事の場合だと、Gikou 20160601)を選択すれば、晴れて技巧と対局できます。

1.png

無論棋譜解析も可能です。
特別スペックの高くないMBAでの実行でしたが、普通に実行させる分には特に問題ありませんでした。

参照

MacでMPIとopenmpをハイブリッドにつかえる環境を構築する

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40