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 が動きました.仮想化せずに動くので軽快です.

  1. プログラムと機能 -> Windows の機能の有効化または無効化
    1. Windows subsystem for Linux (beta) を有効化
    2. 再起動
  2. スタートメニュー : 設定 -> 更新とセキュリティ -> 開発者向け
    1. 開発者モードへ (警告が出る)
    2. 「一部の機能は再起動。。。」(しばらく「開発者モードのパッケージを検索」している場合は放置)
    3. 念のため再起動
  3. スタートメニュー : W -> Windowsシステムツール -> コマンドプロンプト起動
    1. bash
    2. ubuntu のインストールを確認されるので、"y" でダウンロード開始、ファイルシステム展開
    3. User 名、Passwd 入力 (Windows と違ってOK)
  4. SSH server の停止(開発者モードにすると SSH サーバがインストール、起動されるので、不要なら停止)
    1. コントロールパネル -> システムとセキュリティ -> Windowsファイアウォール -> 許可されたアプリ
      1. 「設定の変更」でSsh Server のチェックを外す
    2. 「サービス」を起動
      1. SSH Server Broker と SSH Server Proxy のプロパティを開き、停止、無効化
  5. ubuntu 上の設定
    1. "Bash on Ubuntu on Windows" を起動
    2. $ hostname # ホスト名の確認
    3. $ sudo vi /etc/hosts # 127.0.0.1 localhost _HOSTNAME_ を追記
    4. 必要なら日本のサーバへ変更
      • $ 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
  6. Install
    1. $ sudo apt-get update
    2. $ sudo apt-get upgrade
    3. $ sudo apt-get install build-essential gfortran gnuplot openmpi-bin libopenmpi-dev libatlas-dev m4 bison flex freeglut3-dev
    4. $ vi .bashrc
      1. export DISPLAY=localhost:0.0
  7. Xserver 導入
  8. FreeFem++ 導入
    1. $ wget http://www.freefem.org/ff++/ftp/freefem++-3.50.tar.gz
    2. $ cd freefem++-3.50
    3. $ ./configure --enable-download
    4. $ download/getall # 何回か繰り返して,全てダウンロードしたことを確認 (blas.tgz の MD5エラーは無視)
    5. $ make | tee make.out
      1. download/mumps-seq/MUMPS_5.0.2/src/mumps_static_mapping.F のコンパイルで失敗したら,download/mumps-seq/Makefile-mumps-5.0.2.inc の TYPO を修正し,make clean して再度実行
          1. 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)
    6. $ sudo make install
    7. $ cd example++-mpi
    8. 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:

  1. Bash on Ubuntu on Windows (Microsoft Developer Network)
  2. Bash on Ubuntu on Windowsをインストールしてみよう!
  3. Cygwin絶対殺すマン ~物理のオタクがWindows Subsystem for Linuxで数値計算できるようになるまで~
  4. Windows 10のBash on Ubuntu on Windows環境を初期化/再インストールする
  5. Bash on Ubuntu on Windows とX Windowの組み合わせで日本語表示と日本語入力
  6. Bash on Ubuntu on Windowsとは? そのインストールと使い方