[ この記事は古くなりました。現在は Microsoft Store からインストールできます]
FreeFem++-mpi を ubuntu on Windowsで起動するために試してみました.何となくネットワークが不安定ですが,FreeFem++-3.50 が動きました.仮想化せずに動くので軽快です.
- プログラムと機能 -> Windows の機能の有効化または無効化
- Windows subsystem for Linux (beta) を有効化
 - 再起動
 
 - スタートメニュー : 設定 -> 更新とセキュリティ -> 開発者向け
- 開発者モードへ (警告が出る)
 - 「一部の機能は再起動。。。」(しばらく「開発者モードのパッケージを検索」している場合は放置)
 - 念のため再起動
 
 - スタートメニュー : W -> Windowsシステムツール -> コマンドプロンプト起動
- bash
 - ubuntu のインストールを確認されるので、"y" でダウンロード開始、ファイルシステム展開
 - User 名、Passwd 入力 (Windows と違ってOK)
 
 - SSH server の停止(開発者モードにすると SSH サーバがインストール、起動されるので、不要なら停止)
- コントロールパネル -> システムとセキュリティ -> Windowsファイアウォール -> 許可されたアプリ
- 「設定の変更」でSsh Server のチェックを外す
 
 - 「サービス」を起動
- SSH Server Broker と SSH Server Proxy のプロパティを開き、停止、無効化
 
 
 - ubuntu 上の設定
- "Bash on Ubuntu on Windows" を起動
 - $ hostname      # ホスト名の確認
 - $ sudo vi /etc/hosts    # 127.0.0.1 localhost _HOSTNAME_ を追記
 - 必要なら日本のサーバへ変更
- $ sudo sed -i.bak -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list
 - または
 - $ sudo sed -i.bak -e 's%http://.*.ubuntu.com%http://jp.archive.ubuntu.com%g' /etc/apt/sources.list
 
 
 - Install
- $ sudo apt-get update
 - $ sudo apt-get upgrade
 - $ sudo apt-get install build-essential gfortran gnuplot openmpi-bin libopenmpi-dev libatlas-dev m4 bison flex freeglut3-dev 
 - $ vi .bashrc
- export DISPLAY=localhost:0.0
 
 
 - Xserver 導入
 - FreeFem++ 導入
- $ wget http://www.freefem.org/ff++/ftp/freefem++-3.50.tar.gz
 - $ cd freefem++-3.50
 - $ ./configure --enable-download
 - $ download/getall  # 何回か繰り返して,全てダウンロードしたことを確認 (blas.tgz の MD5エラーは無視)
 - $ make | tee make.out
- download/mumps-seq/MUMPS_5.0.2/src/mumps_static_mapping.F のコンパイルで失敗したら,download/mumps-seq/Makefile-mumps-5.0.2.inc の TYPO を修正し,make clean して再度実行
- INCSEQ  = -I$(DOWNLOADFF)/mumps-seq/MUMPS_5.0.1/libseq LIBSEQ  = -L$(DOWNLOADFF)//mumps-seq/MUMPS_5.0.1/libseq  -lmpiseq$(PLAT) -> INCSEQ  = -I$(DOWNLOADFF)/mumps-seq/MUMPS_5.0.2/libseq LIBSEQ  = -L$(DOWNLOADFF)//mumps-seq/MUMPS_5.0.2/libseq  -lmpiseq$(PLAT) 
 
 
 - $ sudo make install
 - $ cd example++-mpi
 - Test run : 例えば$ ff-mpirun -np 4 DDM-Schwarz-Lame-3d.edp (タスクマネージャーを起動しておくと 4 プロセス動いていることが確認できます)
 
 
注意:
- ubuntu on Windows について
- サーバとしての環境ではなく、開発環境であることに注意
 - bash on ubuntu がたまにハングアップすることあり
 - Virus check ソフトによるネットワーク遮断あり
 - ファイルは “%LocalAppData%\LxSS” 以下にある(フルパス直打ちすると Windows 側から見れる)
 
 - 開発者モードにすると SSH server がインストールされ、起動されるので、できるだけ停止(Windowsアカウントでログインでき、セキュリティ的にはやや怖い)
 - FreeFem++-3.50
- download/getall した際に blas.tgz で MD5 エラーが起きる -> libatlas を利用 (2017-01-04現在)
 - mumps-seq (MUMPS の sequential 版 library) コンパイル時に、ソース内で mpif.h 等が呼ばれていることを考慮していないためにエラー発生
- download/mumps-seq/Makefile-mumps-5.0.2.inc の TYPO (上述)
 
 
 
Ref:
- Bash on Ubuntu on Windows (Microsoft Developer Network)
 - Bash on Ubuntu on Windowsをインストールしてみよう!
 - Cygwin絶対殺すマン ~物理のオタクがWindows Subsystem for Linuxで数値計算できるようになるまで~
 - Windows 10のBash on Ubuntu on Windows環境を初期化/再インストールする
 - Bash on Ubuntu on Windows とX Windowの組み合わせで日本語表示と日本語入力
 - Bash on Ubuntu on Windowsとは? そのインストールと使い方