MacOS X上のソースからインストールする方法

一般的な必要条件と GetFEM の最後の安定版のダウンロードについては ダウンロードとインストール ページを参照してください.

まず,システムに次のコンポーネントがインストールされていることを確認します.

  • Xcode

  • Xquartz

  • Homebrew

(Xquartsは厳密には必要ではありませんが,より便利です).

次に,現在のgitのバージョンをダウンロードすると,

$ brew install m4

$ brew install automake

$ brew install libtool

直列mumpsの場合

$ brew tap brewsci/num

$ brew install brewsci-mumps --without-mpi

パラレルの場合は --without-mpi ではなく,mpiとmetisもインストールします.

Qhullの場合

$ brew install qhull

Python用

$ pip install numpy

$ pip install scipy

$ pip install matplotlib

ソースをダウンロードする

GetFEM を入手するには安定版( ダウンロードとインストール ページからダウンロード可能なファイル getfem-5.4.1.tar.gz として)または 匿名のgitアクセス(現在開発中の不安定版)2つの方法があります.

次のようすると直接最新の安定版を手に入れることができます

現在のgitのバージョンは:

  • GITプロトコル経由でチェックアウト

    $ git clone https://git.savannah.nongnu.org/git/getfem.git
    
  • GetFEM のルートディレクトリに移動します.

    $ cd getfem
    
  • そして autogen.sh スクリプトを実行します(m4,automake,libtoolが必要です)

    $ bash autogen.sh
    

コンパイル

次のように設定します.

$ ./configure

次のようにしてコンパイルを開始します.

$ make

最後に,次のようにインストールします.

$ make install

構成オプション

  • ./configure スクリプトを実行し,自動的に選択されたコンパイラとは異なるコンパイラを使用する場合.コマンドラインで名前を指定します.

    $ ./configure CXX=mycompiler
    
  • いずれかのインタフェースを構築する場合は,次のコマンドを使用します.

    $ ./configure ``--enable-python``
    $ ./configure ``--enable-scilab``
    $ ./configure ``--enable-matlab``
    

    作成するインタフェースによって異なります.pythonインタフェースはデフォルトでビルドされ,python3バージョン用であることに注意してください.

  • 特定の BLAS ライブラリを使用する場合は,必要なリンクフラグとライブラリを次のようにconfigureスクリプトに指定する必要があります.

    $ ./configure BLAS_LIBS="-L/path/to/lib -lfoo -lbar ....etc"
    

    $ ./configure BLAS_LIBS="-L/usr/lib/sse2/atlas -lblas"
    
  • あるいは,ライブラリをインストールするプレフィックスディレクトリを設定したい場合は, --prefix オプション(デフォルトのプレフィックスディレクトリは /usr/local です)を使うことができます.

    $ ./configure --prefix=my_dest_dir
    

configureスクリプトには他のオプションもあることに注意してください. ./configure --help と入力すると表示されます.

Octaveインタフェース

Octaveインターフェイスのコンパイルは, configure スクリプトの --enable-octave オプションで実行されます.

まず,シェルプロンプトから octavemkoctfile コマンドにアクセスできる必要があります(例えば brew install octave の呼び出し).

最後に,ツールボックスへのパスをoctaveパスに追加します.

  • you can put addpath('toolbox_dir', '-begin') to your $HOME/.octaverc file

  • octaveコマンドラインで addpath コマンドを使うだけです.

Matlabインタフェース

Matlabコンパイラの mex の設定が間違っているため,Matlabインタフェース( configure スクリプトの --enable-matlab オプションを使って)のコンパイルに失敗することがあります.

まず,シェルのプロンプトから matlabmex コマンドにアクセスする必要があります.インストールされていない場合は,パスに Applications/MATLAB_RXXXX.app/bin を追加してください (例えばシェルが bash でMatlabがインストールされているバージョンが XXXX の場合は export PATH=$PATH:Applications/MATLAB_RXXXX.app/bin とします.また,コマンド sudo ln -s Applications/MATLAB_RXXXX.app/bin/matlab matlabsudo ln -s Applications/MATLAB_RXXXX.app/bin/mex mex を使用して, /usr/local/binmatlabmex へのシンボリックリンクを作成することもできます.

そして,あなたは以下を実行する必要があります

$ mex -setup

ホームディレクトリの .matlab/ ディレクトリに正しい mexopts.sh ファイルを作成します.それでも動作しない場合は, .matlab/mexopts.sh を変更するか,置き換えることができます.macOS X/Xcodeに特に対応したいくつかの mexopts.sh はインターネットで入手できます( MATLAB_R2015 については,ここを参照してください.).

注意

  • GetFEM static ライブラリ(つまり, GetFEM の構築時に ./configure --disable-static を使用しない)を作成しておく必要があります.

  • --enable-matlab オプションを使って GetFEM ソース(すなわち ./configure --enable-matlab ...)を設定する必要があります.

--with-matlab-toolbox-dir=toolbox_dir を使ってデフォルトのツールボックスインストールディレクトリ (gfdest_dir/getfem_toolbox) を変更することもできます. ./configure --help で他のオプションを参照してください.

Matlabインターフェイスは GetFEM ソース(ディレクトリ interface/src 内)に含まれているので,次のようにして GetFEM ライブラリとMatlabインターフェイスの両方をコンパイルできます.

make

オプションのステップは make check で,matlabインターフェース(いくつかの環境変数を設定し, check_all.m を実行します.これはディストリビューションの tests/matlab ディレクトリです.)をチェックしてインストールします(ライブラリは gfdest_dir/lib にコピーされ,MEX-FileとM-Filesは toolbox_dir にコピーされます.).

make install

./configure スクリプトによって自動的に選ばれたコンパイラとは異なるコンパイラを使いたいなら,コマンドラインでその名前を指定してください. ./configure CXX=mycompiler

ライブラリがインストールされている場合, libgetfem.solibgetfemint.so を含むディレクトリ,つまり gfdest_dir/libLD_LIBRARY_PATH 環境変数に設定する必要があるかもしれません.

export LD_LIBRARY_PATH=gfdest_dir/lib # if you use bash

最後に,ツールボックスへのパスをmatlabパスに追加します.

  • 環境変数 MATLABPATHtoolbox_dir (例えば export MATLABPATH=toolbox_dir )に設定することができます.

  • you can put addpath('toolbox_dir') to your $HOME/matlab/startup.m

その後, getfem_root_directory/interface/tests/matlab にあるデモプログラムを実行してみてください.

Matlabインターフェースのプリコンパイル版は, GetFEMdownload and install から入手できます.

Scilab インターフェース

SciLab GetFEM toolboxのインストールは,C++コンパイラ,ライブラリ,および SciLab を相互に組み合わせているため,多少面倒です.GNU以外のコンパイラで問題が発生した場合は, gcc/g++ (>= 4.8) を使うことが安全な解決策になります.

注意

  • 最初の |sci |リリースは5.2.2です.

  • GetFEM static ライブラリ(つまり, GetFEM の構築時に ./configure --disable-static を使用しない)を作成しておく必要があります.

  • --enable-scilab オプションを使って GetFEM ソース(すなわち ./configure --enable-scilab ...)を設定する必要があります.

--with-scilab-toolbox-dir=toolbox_dir を使ってデフォルトのツールボックスインストールディレクトリ (gfdest_dir/getfem_toolbox) を変更することもできます. ./configure --help で他のオプションを参照してください.

Scilabインターフェイスは GetFEM ソース(ディレクトリ interface/src 内)に含まれているので,次のようにして GetFEM ライブラリとScilabインターフェイスの両方をコンパイルできます.

make

オプションで,次の方法でインストールできます.

make install

./configure スクリプトによって自動的に選ばれたコンパイラとは異なるコンパイラを使いたいなら,コマンドラインでその名前を指定してください. ./configure CXX=mycompiler

getfemがコンパイルされると,次のようになります.

  • Scilab GetFEMインタフェースインストールディレクトリ(インストールが完了していない場合は,interface/src/scilab)に移動します.

  • Scilabを公開

  • exec loader.sce; を使ってGetFEMツールボックスをロードします.

  • 次のようにしてデモを起動してみてください. cd demos; exec demo_static_contact.sce;