FreeFem++ on ubuntu on Windows [2017-01-04]
Post date: 2017/01/04 3:54:59
[ この記事は古くなりました。現在は 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 のプロパティを開き、停止、無効化
- コントロールパネル -> システムとセキュリティ -> Windowsファイアウォール -> 許可されたアプリ
- 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)
- download/mumps-seq/MUMPS_5.0.2/src/mumps_static_mapping.F のコンパイルで失敗したら,download/mumps-seq/Makefile-mumps-5.0.2.inc の TYPO を修正し,make clean して再度実行
- $ 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 ソフトによるネットワーク遮断あり
- download 中のみ Virus check ソフトの「ネットワーク脅威防止」の停止が必要になる場合あり (SymantecEndpointProtection では度々遮断されていた)
- Firewall ルールの設定で該当サーバへの通信(できたらポートも制限)を許可することで対応可能(要注意) [参考: Symantec Endpoin Protection でアプリケーション(bash.exe)に対してFW許可したい]
- ファイルは “%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とは? そのインストールと使い方