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.2.tar.gz として)または 匿名のgitアクセス(現在開発中の不安定版)2つの方法があります.
次のようすると直接最新の安定版を手に入れることができます
ダウンロードパッケージ:
$ curl -# "http://download-mirror.savannah.gnu.org/releases/getfem/stable/getfem-5.4.2.tar.gz" -o "getfem-5.4.2.tar.gz"
解凍:
$ tar xzf getfem-5.4.2.tar.gz
GetFEM のルートディレクトリに行きます.
$ cd getfem-5.4.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
オプションで実行されます.
まず,シェルプロンプトから octave
と mkoctfile
コマンドにアクセスできる必要があります(例えば brew install octave
の呼び出し).
最後に,ツールボックスへのパスをoctaveパスに追加します.
you can put
addpath('toolbox_dir', '-begin')
to your$HOME/.octaverc
fileoctaveコマンドラインで
addpath
コマンドを使うだけです.
Matlabインタフェース¶
Matlabコンパイラの mex の設定が間違っているため,Matlabインタフェース( configure
スクリプトの --enable-matlab
オプションを使って)のコンパイルに失敗することがあります.
まず,シェルのプロンプトから matlab
と mex
コマンドにアクセスする必要があります.インストールされていない場合は,パスに 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 matlab
と sudo ln -s Applications/MATLAB_RXXXX.app/bin/mex mex
を使用して, /usr/local/bin
に matlab
と mex
へのシンボリックリンクを作成することもできます.
そして,あなたは以下を実行する必要があります
$ 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.so
と libgetfemint.so
を含むディレクトリ,つまり gfdest_dir/lib
を LD_LIBRARY_PATH
環境変数に設定する必要があるかもしれません.
export LD_LIBRARY_PATH=gfdest_dir/lib # if you use bash
最後に,ツールボックスへのパスをmatlabパスに追加します.
環境変数
MATLABPATH
をtoolbox_dir
(例えばexport MATLABPATH=toolbox_dir
)に設定することができます.you can put
addpath('toolbox_dir')
to your$HOME/matlab/startup.m
その後, getfem_root_directory/interface/tests/matlab
にあるデモプログラムを実行してみてください.
Matlabインターフェースのプリコンパイル版は, GetFEM の download and install から入手できます.
Scilab インターフェース¶
SciLab GetFEM toolboxのインストールは,C++コンパイラ,ライブラリ,および SciLab を相互に組み合わせているため,多少面倒です.GNU以外のコンパイラで問題が発生した場合は, gcc/g++ (>= 4.8) を使うことが安全な解決策になります.
注意
--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;