windows10 で GCC

windows 環境で GCC を使うとすると、MinGW が有名だが、現時点で、公式には gcc  6.3くらいまでしか対応してない。

もうちょっと最新版が使えないか調べたら、MinGW Distro というのを見つけた。version は驚きの 7.1 。

すぐに使うことはないだろうが、紛れないように記録。

 

 

カッコーはウェブに卵を産むか

将棋ソフトが整ってくると次に欲しくなるのが棋譜だ。

連盟の将棋中継アプリの通信内容からなんとか kif 形式に落とすことはできないか考えてみましたが、がっつり ssl かかってました。

ところで、ssl の筋に入っていく前にアプリはhttp://kak.o.oo7.jp/ShogiLive/ann/iphone.txt というところに GET リクエストを送っている。 “カッコーはウェブに卵を産むか” の続きを読む

Mac で技巧2を使う

また将棋ネタ。
メインで使っている XPS 13 の調子が悪く、ここのところ移動時には MacBook を携えている。困るのは将棋ソフトが充実していない点。

なので elmo (というか YaneuraOu)や技巧2をソースからコンパイルしてみた。

基本的なやり方は、ここここといっしょ。

技巧2の方は、Mac オリジナルの gcc でコンパイルできないので(OpenMP とやらでひっかるみたい)、GCC の gcc49 で置きかえてコンパイル。導入には homebrew より macports の方が簡単のようで、私はそうしました。

 

【Tips!】

$ port search gcc

でインストールできるパッケージを確認。

$ sudo port install gcc49

でインストール。

$  port contents gcc | grep /bin/

でパッケージの実体の path を調べる。私の場合は /opt/local/bin 以下にありました。

$ which gcc

でオリジナルの gcc g++ の path を確認して(私の場合は /usr/bin )

$ sudo ln -sf /opt/local/bin/gcc-mp-4.9 /usr/bin/gcc

$ sudo ln -sf /opt/local/bin/g++-mp-4.9 /usr/bin/g++

で、リンクをはる(※)、という手順。要するに Mac がコンパイルするとき、/usr/bin 以下の gcc を使うので、リンク貼ってそこから gcc-mp-4.9 に飛ばすという理屈。

 

エンジンができたら、将棋ブラウザQ などに登録。無事 Mac 環境下でも強豪将棋ソフトが使えました。

実際の elmo VS 技巧2のバトルは YouTube で。

※‥‥直リンなのでターミナル上で誤操作をするとオリジナルの gcc/g++ が消える可能性もあります。操作は自己責任でお願いします。なお、Mac に不慣れな私もこれをやってしまいましたが、OS X のマイナーアップデートで修復されます。こういうのが嫌な場合は、おとなしく makefile を編集しましょう(コメント欄参照。こっちの方が簡便か)。

? 関連して新しい記事があります。

MacOS に elmo + やねうら王 + 将棋ぶらうざQ を「clang」で導入

 

【Tips】お手軽に Win機で git や GitHub を使う

GitHub を使う必要があった場合は、まず、 git(ギット) や GitHub の概念を頭に入れておこう。
あたりがわかりやすい。ざっくりいえば、
  git はローカルリポジトリでのプロジェクト管理コマンド群
GitHub は git で管理されたプロジェクトに対応したリモートのリポジトリ
(クラウド型サービスといったらいいか? 一種のホスティングサービス)
です。
公開されているプログラムをダウンロードする際、GitHub にお世話になっている人は多いと思うが、こういう関係だったんですね。
ところで、さる筋から、とあるプログラムを GitHub に上げて欲しいと頼まれた。たまに更新するだけなので、日常使いの Win機(ノートPC)でなんとかしたかった。

ところが、ネット上で調べると Git For Windows を使えだの SourceTree を使えだのという記事ばっかり。
開発用のモンスター級のデスクトップ機持ってたら、これでいいんでしょうが、非力なノートPCに入れる気はまったくおこらず、この路線はすべて却下。
幸いなことに愛機(XPS13)には、VMware Player 上に Ubuntu が走っているので、ここから、git を使うことにした(というかもともと使えるようになっている)。win のコマンドラインから使うのもありですが、設定が面倒だと感じる場合はこちらで。

まず、GitHub にアカウントを登録。当然、二段階認証はオン。SSH接続させたかったので Ubuntu で秘密鍵と公開鍵つくって、公開鍵を GitHub アカウントに登録。ターミナルから

ssh -T git@github.com

で、SSHで接続されているか確認。

次に、適切なところに git で管理したいディレクトリを作成。ホストOS(Win10)との共有フォルダから必要なファイル・ディレクトリをここにコピー。後は Unix 系 git のお作法にしたがって、ローカルリポジトリを作成し、GitHub に push 。

commit だの add だのでてきて、最初は慣れないと思うが、使っていくうちになんとなく使えるようになっくると思う。
単純に上げるだけなら以下のような形式化された手順ですむ。具体的には以下の通り。

1.git init でフォルダ内プロジェクトの初期化
2.git add LICENSE(だとかフォルダ名だとか) で必要なファイルをインデックスに追加
3.git commit -m “UPDATE(とかわかりやすいコメントをつける)” でコミット。

ここまででローカルのリポジトリでの準備はひとまず完了。
次にリモートに上げる。

4.最初に上げる場合は、

git remote add origin git@github.com:user_name/repository_name.git

でリモートリポジトリを設定しておく。

5.最後は git push -u origin master でリモートに上げる(サーバーの応答はけっこう高速)。

実際に開発して管理するとなるともうちょっと細かいコマンドも覚える必要があるが、今回の案件だとこんなもんですむ。

もうちょっと突っ込んだ使い込みをしたい場合は、やはり成書が必要でしょう。『Git ポケットリファンレンス』が評判よいようです。

air-h-128k-il