OpenFOAM

From UFRC
Revision as of 17:37, 11 February 2011 by Hpc (talk | contribs) (→‎Version 1.7.1)
Jump to navigation Jump to search

OpenFoam

Version 1.7.1

Needs to be built with gcc 4.4.4 or newer. Gcc 4.4.4, in turn, requires a bunch of stuff so we have the following (in the order in which they should be built).


gmp-5.0.1

./configure --prefix=/apps/openfoam/tools


ppl-0.10.2

There is an error in the configure script due to a change in GMP fixed as below.

diff -u configure.orig configure
--- configure.orig	2011-02-11 12:29:38.000000000 -0500
+++ configure	2011-02-10 13:34:14.000000000 -0500
@@ -16473,7 +16473,7 @@
       || GMP_LIMB_BITS != mp_bits_per_limb) {
     std::cerr
       << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
-      << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
+      << "header gives " << GMP_LIMB_BITS << ";\n"
       << "library gives " << mp_bits_per_limb << ".\n"
       << "This probably means you are on a bi-arch system and\n"
       << "you are compiling with the wrong header or linking with\n"

./configure --prefix=/apps/openfoam/tools --with-libgmp-prefix=/apps/openfoam/tools --with-libgmpxx-prefix=/apps/openfoam/tools --enable-cxx
make -j4
make install

mpfr-2.4.2

./configure --prefix=/apps/openfoam/tools --with-gmp=/apps/openfoam/tools make -j 4 make install

cloog-ppl-0.15.9

./configure --prefix=/apps/openfoam/tools --with-gmp=/apps/openfoam/tools --with-ppl=/apps/openfoam/tools make -j 4 make install

gcc-4.4.4

../configure --prefix=/apps/openfoam/tools --with-gmp=/apps/openfoam/tools --with-mpfr=/apps/openfoam/tools --with-ppl=/apps/openfoam/tools --with-cloog=/apps/openfoam/tools make -j 8 make install


Undefined references to pthread routines required the following change to the wmake rules...

--- wmake/rules/linux64Gcc/general.orig	2011-02-11 12:00:54.000000000 -0500
+++ wmake/rules/linux64Gcc/general	2011-02-11 11:45:49.000000000 -0500
@@ -1,7 +1,7 @@
 CPP        = cpp -traditional-cpp $(GFLAGS)
 LD         = ld
 
-PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
+PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl -lpthread
 
 include $(GENERAL_RULES)/standard