[cig-commits] r6335 - long/3D/Gale/trunk

walter at geodynamics.org walter at geodynamics.org
Wed Mar 21 12:42:36 PDT 2007


Author: walter
Date: 2007-03-21 12:42:35 -0700 (Wed, 21 Mar 2007)
New Revision: 6335

Added:
   long/3D/Gale/trunk/INSTALL.SEABORG
Modified:
   long/3D/Gale/trunk/
Log:
 r1723 at earth:  boo | 2007-03-21 12:41:34 -0700
 Add INSTALL.SEABORG



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1721
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:1723

Added: long/3D/Gale/trunk/INSTALL.SEABORG
===================================================================
--- long/3D/Gale/trunk/INSTALL.SEABORG	2007-03-21 19:30:45 UTC (rev 6334)
+++ long/3D/Gale/trunk/INSTALL.SEABORG	2007-03-21 19:42:35 UTC (rev 6335)
@@ -0,0 +1,153 @@
+module load python
+
+module load petsc/2.3.1
+module load GNU  (gives you libxml2)
+
+These two loads are just to find out where libxml2 and petsc are.  You
+should unload GNU, because otherwise it may use the GNU ar and nm
+which may be problematic.
+
+Configure requires --with-batch and --with-mpi-shared=0.
+
+The configure can not find isnan or isinf.  Needs "-lm", so just
+comment out those tests.
+
+Even then, still can not find petsc.
+
+
+So manually maodify configure_vars:
+
+  1) Add -qcpluscmt to make xlc accept C++ comments
+  2) Compile with mpcc but link with mpxlf (for lapack)
+  3) Add in libxml2 and petsc include and library paths
+  4) Add in petsc dependencies (e.g. -lXll -lessl
+        /usr/common/usg/LAPACK/3.0c/lapack_SP.a)
+
+The complete configure_vars is included at the end of this file.
+
+Need to check warning
+
+"build/StGermain/Base/Context/src/AbstractContext.c", line 376.17: 1506-280 (W) Function argument assignment between types "void*" and "void(*)(void*)" is not allowed.
+
+
+# Set all of the configuration specific variables here.
+
+# Copyright (C) 2006 California Institute of Technology
+
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+import os
+import sys
+
+Import('env')
+
+env['CC']='mpcc'
+env['LINK']='mpxlf'
+#env['CC']='/usr/common/usg/gcc/3.4.1/bin/gcc'
+#env['LINK']='/usr/common/usg/gcc/3.4.1/bin/gcc'
+
+
+with_shared=True
+if not '':
+    with_shared=False
+
+
+mpirun='mpirun'
+
+env.Append(CPPFLAGS=['-qcpluscmt'])
+#env.Append(CCFLAGS=['-q64'])
+#env.Append(LINKFLAGS=['-q64'])
+
+#env.Append(CCFLAGS=Split(' -mpe'))
+#env.Append(LINKFLAGS=Split(' -mpe'))
+#env.Append(CCFLAGS=Split('-maix64 -mpe'))
+#env.Append(LINKFLAGS=Split('-maix64 -mpe'))
+#env.Append(ARFLAGS=['-X32_64'])
+
+# Add in the libxml2 paths
+for path in Split('/usr/common/usg/gnu//include/libxml2 '):
+    env.Append(CPPPATH=['#/'+path])
+env.Append(LIBS=Split('-lxml2 -lpthread -liconv -lm '))
+for path in Split('/usr/common/usg/gnu/lib'):
+    env.Append(LIBPATH=['#/'+path])
+if with_shared:
+    env.Append(RPATH=Split('@LIBXML2_LIBPATH_UNKNOWN@'))
+
+# Add in the petsc paths
+for path in Split('/usr/common/acts/PETSc/2.3.1/include /usr/common/acts/PETSc/2.3.1/bmake/rs6000_sp_O'):
+    env.Append(CPPPATH=['#/'+path])
+env.Append(LIBS=Split('petscksp petscdm petscmat petscvec petsc '))
+for path in Split('/usr/common/acts/PETSc/2.3.1/lib/rs6000_sp_O'):
+    env.Append(LIBPATH=['#/'+path])
+if with_shared:
+    env.Append(RPATH=Split('@PETSC_LIBPATH_UNKNOWN@'))
+#env.ParseConfig('echo ""')
+
+env.Append(LIBS=File('/usr/common/usg/LAPACK/3.0c/lapack_SP.a'))
+env.Append(LINKFLAGS=Split(' -lX11 -lessl'))
+
+# CPP and linker flags
+
+#cppflags=' '
+#if len(cppflags)!=0:
+#    env.Append(CPPFLAGS=Split('-qcpluscmt '))
+#ldflags='@LDFLAGS_UNKNOWN@'
+#if len(ldflags)!=0:
+#    env.Append(LINKFLAGS=Split('@LDFLAGS_UNKNOWN@'))
+
+extra_libs=""
+
+## Figure out where everything is going to be put once it is built.
+
+import re
+
+outer_environ=os.environ
+
+if outer_environ.has_key('prefix'):
+    prefix=outer_environ['prefix']
+else:
+    prefix="/home1/u6/wlandry/gale-bin"
+exec_prefix="${prefix}"
+bin_dir="${exec_prefix}/bin"
+lib_dir="${exec_prefix}/lib"
+include_dir="${exec_prefix}/include"
+
+if outer_environ.has_key('mandir'):
+    man_dir=outer_environ['mandir']+"/man1"
+else:
+    man_dir="${exec_prefix}/man"+"/man1"
+
+exec_prefix=re.sub(r"\$\{prefix\}",prefix,exec_prefix)
+bin_dir=re.sub(r"\$\{exec_prefix\}",exec_prefix,bin_dir)
+lib_dir=re.sub(r"\$\{exec_prefix\}",exec_prefix,lib_dir)
+man_dir=re.sub(r"\$\{exec_prefix\}",exec_prefix,man_dir)
+include_dir=re.sub(r"\$\{exec_prefix\}",exec_prefix,include_dir)
+
+env["prefix"]=prefix
+env["exec_prefix"]=exec_prefix
+env["bin_dir"]=bin_dir
+env["lib_dir"]=lib_dir
+env["man_dir"]=man_dir
+env["include_dir"]=include_dir
+
+# Select static or shared objects
+
+def libs(shared_lib_objects,static_lib_objects):
+    if '':
+        return shared_lib_objects
+    return static_lib_objects
+
+Export('env','with_shared','mpirun','extra_libs','libs')



More information about the cig-commits mailing list