[cig-commits] r16363 - short/3D/PyLith/trunk/doc/install

brad at geodynamics.org brad at geodynamics.org
Tue Mar 2 10:41:55 PST 2010


Author: brad
Date: 2010-03-02 10:41:55 -0800 (Tue, 02 Mar 2010)
New Revision: 16363

Added:
   short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
   short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt
Log:
Started compiling installation instructions for Caltech clusters.

Added: short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_CIT-pangu.txt	2010-03-02 18:41:55 UTC (rev 16363)
@@ -0,0 +1,308 @@
+======================================================================
+INSTRUCTIONS FOR INSTALLING PYLITH ON THE CALTECH LINUX CLUSTER PANGU
+======================================================================
+
+I place applications that are rarely updated in $HOME/tools. For CIG
+source code, I separate the source code, build directories, and
+installed code. The source code sits in $HOME/src/cig, I build the
+packages under $HOME/scratch/build/cig, and install the packages to
+$HOME/tools/cig.
+
+I use the bash shell and place all software package environment
+variables in a .bash.tools file that is read by the .bashrc file.
+
+On an x86_64 system it is important to keep files associated with a
+32-bit architecture separate from those associated with a 64-bit
+architecture. Some architecture independent files are put in
+$PREFIX/lib with 64-bit architecture files in $PREFIX/lib64. In most
+cases when a library with versions for both architectures is
+available, the linker will use the one compatible with the requested
+architecture (the default is usually the 64-bit architecture).
+
+To make things easier, I create environment variables TOOLS_DIR,
+CIG_DIR, TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
+makes it easier to maintain multiple copies of packages built with
+different options (e.g., different compilers and different levels of
+optimization). Note that the python version should match the version
+of Python you will be using. If you don't know the version of python,
+run "python --version".
+
+  export TOOLS_DIR=${HOME}/tools
+  export TOOLS_FORMAT=gcc-3.4_64
+  export PYTHON_VERSION=2.5
+
+  export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
+  export CIG_INCDIR=${CIG_DIR}/include
+  export CIG_LIBDIR=${CIG_DIR}/lib
+  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
+  export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  PATH=${CIG_DIR}/bin:$PATH
+
+2. Adjust your environment to use Python 2.5 instead of Python 2.3.
+
+  Python 2.3 contains bugs that prevent its full functionality on a
+  x86_64 system.
+
+  a. Create directory $TOOLS_DIR/python2.5.
+
+  b. Create a bin subdirectory.
+
+  c. Create a symbolic link for the python2.5 executable.
+
+     ln -s /usr/bin/python2.5 $TOOLS_DIR/python2.5/bin/python
+
+  d. Create symbolic links for the other python2.5 directories.
+
+     ln -s /usr/lib/python2.5 $TOOLS_DIR/python2.5/lib
+     ln -s /usr/lib64/python2.5 $TOOLS_DIR/python2.5/lib64
+     ln -s /usr/include/python2.5 $TOOLS_DIR/python2.5/include
+
+  e. Setup environment variables.
+
+  PATH=${TOOLS_DIR}/python$PYTHON_VERSION/bin:${PATH}
+  export PYTHON_DIR=${TOOLS_DIR}/python$PYTHON_VERSION/lib
+  export PYTHON_LIBDIR=${TOOLS_DIR}/python$PYTHON_VERSION/lib64
+  export PYTHON_INCDIR=${TOOLS_DIR}/python$PYTHON_VERSION/include
+
+3. Install mercurial (http://www.selenic.com/mercurial/wiki/)
+
+  a. Untar the source code.
+
+  b. Install the package.
+
+    python setup.py install --prefix=$TOOLS_DIR/mercurial-1.4.3/${TOOLS_FORMAT}
+
+  c. Set environment variables.
+
+    MERCURIAL_DIR=${TOOLS_DIR}/mercurial-1.4.3/${TOOLS_FORMAT}
+    PATH=${PATH}:${MERCURIAL_DIR}/bin
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MERCURIAL_DIR}/lib
+    export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+4. Setup environment variables for MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
+ 
+ b. Set environment variables.
+
+    export RSHCOMMAND=ssh
+    export MPI_DIR=/opt/mpich/myrinet/gnu
+    PATH=$MPI_DIR/bin:$PATH
+    export MANPATH=$MPI_DIR/man:$MANPATH
+    export MPI_INCDIR=$MPI_DIR/include
+    export MPI_LIBDIR=$MPI_DIR/lib
+    export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
+    export MPI_VERSION=2
+
+5. Install ParMetis (http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
+
+  a. Untar the source and edit the Makefile.
+  b. Set the CC, COPTIONS, INCDIR, LD, and LIBDIR variables.
+
+    CC = gcc
+    COPTIONS = -fPIC
+    INCDIR = -I${MPI_INCDIR}
+    LD = gcc
+    LIBDIR = -L${MPI_LIBDIR} -lmpich -lpthread -lrt
+
+  c. Run make. Make sure libraries are created libmetis.a and
+  libparmetis.a. Don't worry about errors when attempting to create
+  any executables.
+
+  d. Create library and include directories by hand.
+
+    mkdir -p ${TOOLS_DIR}/parmetis-3.1/$TOOLS_FORMAT/lib ${TOOLS_DIR}/parmetis-3.1/$TOOLS_FORMAT/include
+
+  e. Create shared libraries by hand.
+
+    cd ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib
+    mkdir tmp
+    cd tmp
+    ar -x ../libmetis.a
+    gcc -o ../libmetis.so -shared *.o
+    rm *.o
+    ar -x ../libparmetis.a
+    gcc -o ../libparmetis.so -shared *.o
+    rm *.o
+    cd ..
+    rmdir tmp
+
+  d. Copy parmetis.h to the install location.
+
+    cp parmetis.h ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/include/
+
+  e. Set environment variables.
+
+    PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
+    export PARMETIS_INCDIR=$PARMETIS_DIR/include
+    export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
+
+6. Install cppunit (http://cppunit.sourceforge.net/cppunit-wiki)
+
+  a. Untar the source and run configure, build, and install.
+
+    ./configure --prefix=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
+    make
+    make install
+
+  b. Set environment variables.
+
+    CPPUNIT_DIR=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
+    PATH=${PATH}:${CPPUNIT_DIR}/bin
+    export CPPUNIT_LIBDIR=${CPPUNIT_DIR}/lib
+    export CPPUNIT_INCDIR=${CPPUNIT_DIR}/include
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CPPUNIT_LIBDIR}
+
+7. Install FIAT (http://www.fenics.org/wiki/FIAT)
+
+  a. Install FIAT.
+
+    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
+
+  b. Set environment variables.
+
+    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.3/${TOOLS_FORMAT}
+    export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+8. Install the development version of PETSc
+  (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
+
+  a. Clone the source repository.
+
+    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
+    cd petsc-dev/config
+    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
+ 
+  b. Set PETSC_ARCH and PETSC_DIR environment variables.
+
+    export PETSC_DIR=${TOOLS_DIR}/petsc-dev
+    export PETSC_ARCH=linux_${TOOLS_FORMAT}_opt
+
+  c. Configure PETSc, build, and test.
+
+    ARCH_FLAGS="--PETSC_ARCH=linux_${TOOLS_FORMAT}_opt --with-debugging=no"
+    LANG_FLAGS="--with-clanguage=c++"
+    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=g77 --F77=g77"
+    MPI_FLAGS="--with-mpi-dir=${TOOLS_DIR}/mpich2-1.0.4p1/gcc-3.4_64 --with-mpi-shared=0"
+    LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl -lpthread -lrt"
+    OPTIONS="--with-lgrind=0 --download-tetgen"
+    PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=${TOOLS_DIR}/parmetis-3.1/gcc-3.4_64"
+    SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
+    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${ACML_LIBDIR} -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
+    make
+    make test
+
+9. Install SWIG (http://www.swig.org/)
+
+  a. Untar and install.
+
+    tar -zxvf swig.1.3.39.tgz
+    configure --prefix=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
+    make
+    make install
+
+  b. Update environment variables.
+
+    SWIG_DIR=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
+    PATH=${PATH}:${SWIG_DIR}/bin
+
+10. Install pythia.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
+
+  b. Install the software.
+
+    python setup.py install --prefix=${CIG_DIR}
+
+  c. Set environment variables.
+
+    export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
+
+11. Install nemesis.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, and install.
+
+    ./configure  --prefix=${CIG_DIR} CPPFLAGS="-I${CIG_INCDIR} -I${MPI_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${MPI_LIBDIR} -L${PVFS2_LIBDIR}"  LIBS="-lpvfs2 -lssl -lpthread -lrt"  CC=gcc CXX=g++ FC=g77 F77=g77
+    make
+    make install
+
+12. Install PROJ.4 (http://trac.osgeo.org/proj/)
+
+  a. Download the source code AND the datum shifts (proj-datumgrid-1.3.zip).
+
+  b. Untar the source code and unzip the datum shifts in the nad directory.
+
+  c. Run configure and build.
+
+    ./configure  --prefix=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+
+  d. Set environment variables.
+
+    PROJ4_DIR=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}
+    PATH=${PATH}:${PROJ4_DIR}/bin
+    export PROJ4_INCDIR=${PROJ4_DIR}/include
+    export PROJ4_LIBDIR=${PROJ4_DIR}/lib
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PROJ4_LIBDIR}
+    export MANPATH=${MANPATH}:${PROJ4_DIR}/man
+
+13. Install netcdf (http://www.unidata.ucar.edu/software/netcdf/).
+
+  a. Untar the source code.
+
+  b. Run configure and build.
+
+    ./configure --prefix=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT} --disable-f90 --enable-shared CC=gcc CXX=g++ F77=g77 CFLAGS=-fPIC FFLAGS=-fPIC
+    make
+    make install
+
+  c. Set environment variables.
+
+    NETCDF_DIR=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT}
+    export NETCDF_INCDIR=${NETCDF_DIR}/include
+    export NETCDF_LIBDIR=${NETCDF_DIR}/lib
+
+
+14. Install spatialdata.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, install, and the unit tests.
+
+    ./configure  --enable-pythia --enable-testing  --prefix=${CIG_DIR} CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+    make check
+
+15. Install PyLith.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, install, and the unit tests.
+
+    ./configure  --enable-testing --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I${PYTHIA_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+    make check

Added: short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-Intel64.txt	2010-03-02 18:41:55 UTC (rev 16363)
@@ -0,0 +1,356 @@
+======================================================================
+INSTRUCTIONS FOR INSTALLING PYLITH ON AN INTEL LINUX CLUSTER RUNNING ROCKS-4.3
+======================================================================
+
+I place applications that are rarely updated in $HOME/tools. For CIG
+source code, I separate the source code, build directories, and
+installed code. The source code sits in $HOME/src/cig, I build the
+packages under $HOME/scratch/build/cig, and install the packages to
+$HOME/tools/cig.
+
+I use the bash shell and place all software package environment
+variables in a .bash.tools file that is read by the .bashrc file.
+
+On an x86_64 system it is important to keep files associated with a
+32-bit architecture separate from those associated with a 64-bit
+architecture. Some architecture independent files are put in
+$PREFIX/lib with 64-bit architecture files in $PREFIX/lib64. In most
+cases when a library with versions for both architectures is
+available, the linker will use the one compatible with the requested
+architecture (the default is usually the 64-bit architecture).
+
+To make things easier, I create environment variables TOOLS_DIR,
+CIG_DIR, TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
+makes it easier to maintain multiple copies of packages built with
+different options (e.g., different compilers and different levels of
+optimization). Note that the python version should match the version
+of Python you will be using. If you don't know the version of python,
+run "python --version".
+
+  export TOOLS_DIR=${HOME}/tools
+  export TOOLS_FORMAT=gcc-3.4_64
+  export PYTHON_VERSION=2.4
+
+  export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
+  export CIG_INCDIR=${CIG_DIR}/include
+  export CIG_LIBDIR=${CIG_DIR}/lib
+  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
+  export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
+  PATH=${CIG_DIR}/bin:$PATH
+
+1. Install additional CentOS packages (must be root). **NOT NEEDED??**
+
+  Make sure the Rocks installation procedure installs the following
+  packages (these are not usually installed by default).
+
+  These can be installed by running
+
+    rpm -Uvh /home/install/rocks-dist/lan/x86_64/RedHat/RPMS/PACKAGE_FILE.rpm
+
+    gdb
+    libtool
+
+2. Adjust your environment to use Python 2.4 instead of Python 2.3.
+
+  Python 2.3 contains bugs that prevent its full functionality on a
+  x86_64 system. Rocks installs Python 2.4 in /opt/rocks.
+
+  PATH=/opt/rocks/bin:${PATH}
+  export PYTHON_DIR=/opt/rocks/lib/python$PYTHON_VERSION
+  export PYTHON_LIBDIR=/opt/rocks/lib/python$PYTHON_VERSION
+  export PYTHON_INCDIR=/opt/rocks/include/python$PYTHON_VERSION
+
+3. Install BLAS/LAPACK (needed by numpy and PETSc).
+
+ a. Untar the source code.
+
+ b. Edit the Makefile and make.inc files accordingly.
+
+ c. Run make and make install.
+
+ d. Set environment variables.
+
+    LAPACK_DIR=${TOOLS_DIR}/lapack/${TOOLS_FORMAT}
+    export LAPACK_LIBDIR=${LAPACK_DIR}/lib
+    export LD_LIBRARY_PATH=${LAPACK_LIBDIR}:${LD_LIBRARY_PATH}
+
+4. Install numpy (http://numpy.scipy.org/).
+
+  PyLith requires numpy >= 1.0 (the version that comes with Rocks 4.3
+  is 0.9).
+
+  a. Untar the source code.
+
+  b. Create a site.cfg file.
+
+    cp site.cfg.example site.cfg.
+
+    Set the library_dirs and libraries 
+
+  b. Install the software.
+
+    python setup.py install --prefix=${TOOLS_DIR}/numpy-1.3.0/${TOOLS_FORMAT}
+
+  c. Set environment variables.
+
+    NUMPY_DIR=${TOOLS_DIR}/numpy-1.3.0/${TOOLS_FORMAT}
+    export PYTHONPATH=${PYTHONPATH}:${NUMPY_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+
+5. Install mercurial (http://www.selenic.com/mercurial/wiki/)
+
+  a. Untar the source code.
+
+  b. Install the package.
+
+    python setup.py install --prefix=$TOOLS_DIR/mercurial-1.4.3/${TOOLS_FORMAT}
+
+  c. Set environment variables.
+
+    MERCURIAL_DIR=${TOOLS_DIR}/mercurial-1.4.3/${TOOLS_FORMAT}
+    PATH=${PATH}:${MERCURIAL_DIR}/bin
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MERCURIAL_DIR}/lib
+    export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+6. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
+ 
+ a. Untar the source and then run configure, build, and install.
+
+    export CC=gcc
+    export CXX=g++
+    export F77=g77
+    export FC=g77
+    export CFLAGS="-fPIC"
+    export CXXFLAGS=-fPIC
+    export F77FLAGS=-fPIC
+    export LIBS="-lpthread -lrt"
+
+    ./configure --with-arch=LINUX --disable-f90 --enable-sharedlibs=gcc --enable-cxx --prefix=${TOOLS_DIR}/mpich2-1.0.4p1/${TOOLS_FORMAT} --enable-g=none
+    make
+    make install
+
+  b. Set environment variables.
+
+    export RSHCOMMAND=ssh
+    export MPI_DIR=${TOOLS_DIR}/mpich2-1.0.4p1/${TOOLS_FORMAT}
+    PATH=$MPI_DIR/bin:$PATH
+    export MANPATH=$MPI_DIR/man:$MANPATH
+    export MPI_INCDIR=$MPI_DIR/include
+    export MPI_LIBDIR=$MPI_DIR/lib
+    export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
+    export MPI_VERSION=2
+
+7. Install ParMetis (http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
+
+  a. Untar the source and edit the Makefile.
+  b. Set the CC, COPTIONS, INCDIR, LD, and LIBDIR variables.
+
+    CC = gcc
+    COPTIONS = -fPIC
+    INCDIR = -I${MPI_INCDIR}
+    LD = gcc
+    LIBDIR = -L${MPI_LIBDIR} -lmpich -lpthread -lrt
+
+  c. Run make. Make sure libraries are created libmetis.a and
+  libparmetis.a. Don't worry about errors when attempting to create
+  any executables.
+
+  d. Create library and include directories by hand.
+
+    mkdir -p ${TOOLS_DIR}/parmetis-3.1/$TOOLS_FORMAT/lib ${TOOLS_DIR}/parmetis-3.1/$TOOLS_FORMAT/include
+
+  e. Create shared libraries by hand.
+
+    cd ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib
+    mkdir tmp
+    cd tmp
+    ar -x ../libmetis.a
+    gcc -o ../libmetis.so -shared *.o
+    rm *.o
+    ar -x ../libparmetis.a
+    gcc -o ../libparmetis.so -shared *.o
+    rm *.o
+    cd ..
+    rmdir tmp
+
+  d. Copy parmetis.h to the install location.
+
+    cp parmetis.h ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/include/
+
+  e. Set environment variables.
+
+    PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
+    export PARMETIS_INCDIR=$PARMETIS_DIR/include
+    export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
+
+8. Install cppunit (http://cppunit.sourceforge.net/cppunit-wiki)
+
+  a. Untar the source and run configure, build, and install.
+
+    ./configure --prefix=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
+    make
+    make install
+
+  b. Set environment variables.
+
+    CPPUNIT_DIR=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
+    PATH=${PATH}:${CPPUNIT_DIR}/bin
+    export CPPUNIT_LIBDIR=${CPPUNIT_DIR}/lib
+    export CPPUNIT_INCDIR=${CPPUNIT_DIR}/include
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CPPUNIT_LIBDIR}
+
+9. Install FIAT (http://www.fenics.org/wiki/FIAT)
+
+  a. Install FIAT.
+
+    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
+
+  b. Set environment variables.
+
+    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.3/${TOOLS_FORMAT}
+    export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+10. Install the development version of PETSc
+  (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
+
+  a. Clone the source repository.
+
+    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
+    cd petsc-dev/config
+    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
+ 
+  b. Set PETSC_ARCH and PETSC_DIR environment variables.
+
+    export PETSC_DIR=${TOOLS_DIR}/petsc-dev
+    export PETSC_ARCH=linux_${TOOLS_FORMAT}_opt
+
+  c. Configure PETSc, build, and test.
+
+    ARCH_FLAGS="--PETSC_ARCH=linux_${TOOLS_FORMAT}_opt --with-debugging=no"
+    LANG_FLAGS="--with-clanguage=c++"
+    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=g77 --F77=g77"
+    MPI_FLAGS="--with-mpi-dir=${TOOLS_DIR}/mpich2-1.0.4p1/gcc-3.4_64 --with-mpi-shared=0"
+    LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl -lpthread -lrt"
+    OPTIONS="--with-lgrind=0 --download-tetgen"
+    PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=${TOOLS_DIR}/parmetis-3.1/gcc-3.4_64"
+    SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
+    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${ACML_LIBDIR} -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
+    make
+    make test
+
+11. Install SWIG (http://www.swig.org/)
+
+  a. Untar and install.
+
+    tar -zxvf swig.1.3.39.tgz
+    configure --prefix=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
+    make
+    make install
+
+  b. Update environment variables.
+
+    SWIG_DIR=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
+    PATH=${PATH}:${SWIG_DIR}/bin
+
+12. Install pythia.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
+
+  b. Install the software.
+
+    python setup.py install --prefix=${CIG_DIR}
+
+  c. Set environment variables.
+
+    export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
+
+13. Install nemesis.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, and install.
+
+    ./configure  --prefix=${CIG_DIR} CPPFLAGS="-I${CIG_INCDIR} -I${MPI_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${MPI_LIBDIR} -L${PVFS2_LIBDIR}"  LIBS="-lpvfs2 -lssl -lpthread -lrt"  CC=gcc CXX=g++ FC=g77 F77=g77
+    make
+    make install
+
+14. Install PROJ.4 (http://trac.osgeo.org/proj/)
+
+  a. Download the source code AND the datum shifts (proj-datumgrid-1.3.zip).
+
+  b. Untar the source code and unzip the datum shifts in the nad directory.
+
+  c. Run configure and build.
+
+    ./configure  --prefix=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+
+  d. Set environment variables.
+
+    PROJ4_DIR=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}
+    PATH=${PATH}:${PROJ4_DIR}/bin
+    export PROJ4_INCDIR=${PROJ4_DIR}/include
+    export PROJ4_LIBDIR=${PROJ4_DIR}/lib
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PROJ4_LIBDIR}
+    export MANPATH=${MANPATH}:${PROJ4_DIR}/man
+
+15. Install netcdf (http://www.unidata.ucar.edu/software/netcdf/).
+
+  a. Untar the source code.
+
+  b. Run configure and build.
+
+    ./configure --prefix=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT} --disable-f90 --enable-shared CC=gcc CXX=g++ F77=g77 CFLAGS=-fPIC FFLAGS=-fPIC
+    make
+    make install
+
+  c. Set environment variables.
+
+    NETCDF_DIR=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT}
+    export NETCDF_INCDIR=${NETCDF_DIR}/include
+    export NETCDF_LIBDIR=${NETCDF_DIR}/lib
+
+
+16. Install spatialdata.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, install, and the unit tests.
+
+    ./configure  --enable-pythia --enable-testing  --prefix=${CIG_DIR} CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+    make check
+
+17. Install PyLith.
+
+  a. Download the source code from the SVN repository.
+
+    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
+
+  b. Create the configure script.
+
+    autoreconf -if
+
+  c. Run configure, build, install, and the unit tests.
+
+    ./configure  --enable-testing --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I${PYTHIA_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
+    make
+    make install
+    make check



More information about the CIG-COMMITS mailing list