OpenFOAM 2.3.0 を Ubuntu 12.04 LTS にインストールメモ (Clang コンパイル)2014年9月20日 | |
はじめにOpenFOAM 2.3.0 を Clang でコンパイルする。 インストール対象マシンUbuntu Desktop 12.04 LTS (x86_64)。 コンパイル環境の準備$ sudo apt-get install build-essential flex bison cmake zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev $ sudo apt-get install libscotch-dev libopenmpi-dev libcgal-dev 2 つ目は必要ない? また、Clang 3.4 をインストールしておく。 $ sudo apt-get install clang3.4 パッケージの準備パッケージを準備する。 $ mkdir ~/OpenFOAM $ tar xvzf OpenFOAM-2.3.0.tgz -C ~/OpenFOAM $ tar xvzf ThirdParty-2.3.0.tgz -C ~/OpenFOAM ~/.bashrc に以下を追加。 . ~/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc ~/.bashrc の読み込み。 $ . ~/.bashrc コンパイル設定ファイルを編集。 $WM_PROJECT_DIR/etc/bashrc #export WM_COMPILER=Gcc export WM_COMPILER=Clang ... #export WM_MPLIB=OPENMPI export WM_MPLIB=SYSTEMOPENMPI $WM_PROJECT_DIR/wmake/rules/linux64Clang/c++ c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-unused-comparison -Wno-deprecated-register ... c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC -std=c++11 "c++WARN" に "-Wno-deprecated-register"、"c++FLAGS" に "-std=c++11" を追加している。C++11 を使用したいため。 ~/.bashrc の読み込み。 $ . ~/.bashrc このままコンパイルを実行すると、CGAL でエラーが出たため、次のパッケージをインストールした。
コンパイル。 $ cd $WM_PROJECT_DIR $ ./Allwmake ParaView のコンパイルParaView をコンパイルする前に、CMake をコンパイルする。 $ cd $WM_THIRD_PARTY_DIR $ ./makeCmake $ . ~/.bashrc ParaView をコンパイル。 $ ./makeParaView4 -python -python-lib /usr/lib/libpython2.7.so.1.0 -mpi エラーが出た。 Linking C shared module ../../../lib/site-packages/mpi4py/MPI.so CMakeFiles/mpi4py.MPI.dir/src/MPI.c.o: In function `OPENMPI_dlopen_libmpi': MPI.c:(.text+0x86b1): undefined reference to `dlopen' MPI.c:(.text+0x86cd): undefined reference to `dlopen' MPI.c:(.text+0x86e3): undefined reference to `dlopen' MPI.c:(.text+0x86f9): undefined reference to `dlopen' CMakeFiles/mpi4py.MPI.dir/src/MPI.c.o: In function `__pyx_pf_6mpi4py_3MPI_16Init': MPI.c:(.text+0x31897): undefined reference to `dlopen' CMakeFiles/mpi4py.MPI.dir/src/MPI.c.o:MPI.c:(.text+0x3194d): more undefined references to `dlopen' follow collect2: ld はステータス 1 で終了しました make[2]: *** [lib/site-packages/mpi4py/MPI.so] エラー 1 make[1]: *** [ThirdParty/mpi4py/vtkmpi4py/CMakeFiles/mpi4py.MPI.dir/all] エラー 2 make: *** [all] エラー 2 Open MPI のバージョンの問題らしい。build/linux64Clang/ParaView-4.1.0/ThirdParty/mpi4py/vtkmpi4py/CMakeFiles/mpi4py.MPI.dir/link.txt に "-ldl" を追加する。 やりなおし (続きから)。 $ ./makeParaView4 -python -python-lib /usr/lib/libpython2.7.so.1.0 -mpi -rebuild OpenFOAM プラグインのコンパイル。 $ cd $FOAM_UTILITIES/postProcessing/graphics/PV4Readers $ ./Allwclean $ ./Allwmake | |
PENGUINITIS |