[cig-commits] r11233 - short/3D/PyLith/trunk/doc/install
brad at geodynamics.org
brad at geodynamics.org
Fri Feb 22 06:33:55 PST 2008
Author: brad
Date: 2008-02-22 06:33:55 -0800 (Fri, 22 Feb 2008)
New Revision: 11233
Added:
short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-AMD64.txt
Removed:
short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3.txt
Modified:
short/3D/PyLith/trunk/doc/install/README
Log:
Added architecture to Rocks filename.
Copied: short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-AMD64.txt (from rev 11232, short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3.txt)
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-AMD64.txt (rev 0)
+++ short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3-AMD64.txt 2008-02-22 14:33:55 UTC (rev 11233)
@@ -0,0 +1,376 @@
+======================================================================
+INSTRUCTIONS FOR INSTALLING PYLITH ON A 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, and TOOLS_FORMAT. 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).
+
+ export $TOOLS_DIR=${HOME}/tools
+ export $CIG_DIR=$HOME/tools/cig
+ export TOOLS_FORMAT=gcc-3.4_64
+
+ 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.
+
+ 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. Install the PVFS2 Roll (Optional).
+
+ PyLith does not currently use parallel I/O, but it will likely do so
+ in the future. As a result, we include instructions for installing
+ PyLith with PVFS2 and MPICH2 with PVFS2.
+
+ PVFS2 provides a virtual parallel file system using the local disk
+ on each node. Stability is not great, but it does provide
+ significantly better performance than serial I/O. Another features
+ is that it spreads the data over the local disks on the I/O
+ (compute) nodes.
+
+ a. Set Rocks to install the PVFS2 roll.
+
+ b. Set environment variables.
+
+ export PVFS2_DIR=/opt/pvfs2
+ export PVFS2_INCDIR=$PVFS2_DIR/include
+ export PVFS2_LIBDIR=$PVFS2_DIR/lib
+
+3. Adjust your environment to use Python 2.4 instead of Python 2.3.
+
+ Python 2.3 contains bugs that prevent it full functionality on a
+ x86_64 system. Rocks installs Python 2.4 in /opt/rocks.
+
+ export PYTHON_VERSION=2.4
+ 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
+
+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. Install the software.
+
+ python setup.py install --prefix=${TOOLS_DIR}/numpy-1.0.3-2/${TOOLS_FORMAT}
+
+ c. Set environment variables.
+
+ NUMPY_DIR=${TOOLS_DIR}/numpy-1.0.3/${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-0.9.4/${TOOLS_FORMAT}
+
+ c. Set environment variables.
+
+ MERCURIAL_DIR=${TOOLS_DIR}/mercurial-0.9.3/${TOOLS_FORMAT}
+ PATH=${PATH}:${MERCURIAL_DIR}/bin
+ export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+6. Install the AMD Core Math Library (ACML).
+
+ http://developer.amd.com/tools/acml/Pages/default.aspx
+
+ Notes: (i) You need to register to download.
+ (ii) Make sure you download the version appropriate for your
+ compiler.
+
+ a. Expand the tarball and run the installation script.
+ I install to ${TOOLS_DIR}/acml-3.5.0.
+
+ b. Set environment variables.
+
+ export ACML_DIR=${TOOLS_DIR}/acml-3.5.0/gnu64
+ export ACML_LIBDIR=${ACML_DIR}/lib
+ export ACML_INCDIR=${ACML_DIR}/include
+ export LD_LIBRARY_PATH=${ACML_LIBDIR}:${LD_LIBRARY_PATH}
+
+7. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
+
+ IMPORTANT NOTE: When installing MPICH2 to work with PVFS2, the two
+ versions must be compatible. If you get errors when building the
+ romio portion of MPICH2 associated with PVFS2, you likely don't have
+ compatible versions of PVFS2 and MPICH2. I found mpich2-1.0.4p1 to
+ be compatible with the Rocks 4.3 PVFS2 roll.
+
+ 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 -I${PVFS2_INCDIR}"
+ export CXXFLAGS=-fpic
+ export F77FLAGS=-fpic
+ export LDFLAGS="-L${PVFS2_LIBDIR}"
+ export LIBS="-lpvfs2 -lssl -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 --enable-romio --with-file-system=pvfs2+ufs+nfs
+ 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
+
+8. 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. 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. 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}
+
+9. 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}
+
+10. 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
+
+11. 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}_debug
+
+ 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=${HOME}/tools/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${TOOLS_DIR}/acml-3.5.0/gnu64/lib -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
+ make
+ make test
+
+12. Install Pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)
+
+ Versions up to and including 0.9.5.1 are known to work.
+
+ a. Untar and install.
+
+ python setup.py install --prefix=${TOOLS_DIR}/pyrex-0.9.5.1/${TOOLS_FORMAT}
+
+ b. Update environment variables
+
+ PYREX_DIR=${TOOLS_DIR}/pyrex-0.9.5.1a/${TOOLS_FORMAT}
+ PATH=${PATH}:${PYREX_DIR}/bin
+ export PYTHONPATH=${PYTHONPATH}:${PYREX_DIR}/lib/python${PYTHON_VERSION}/site-packages
+
+13. Install CIG's version of pyrexembed.
+
+ a. Download the source code from the SVN repository.
+
+ svn co http://geodynamics.org/svn/cig/cs/pyrexembed/trunk pyrexembed
+
+ b. Install the software.
+
+ python setup.py install --prefix=${CIG_DIR}
+
+14. 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
+
+15. 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
+
+16. Install PROJ.4 (http://www.remotesensing.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
+
+17. 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
+
+
+18. 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
+
+19. 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
Deleted: short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3.txt
===================================================================
--- short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3.txt 2008-02-22 04:32:27 UTC (rev 11232)
+++ short/3D/PyLith/trunk/doc/install/Cluster_Rocks-4.3.txt 2008-02-22 14:33:55 UTC (rev 11233)
@@ -1,376 +0,0 @@
-======================================================================
-INSTRUCTIONS FOR INSTALLING PYLITH ON A 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, and TOOLS_FORMAT. 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).
-
- export $TOOLS_DIR=${HOME}/tools
- export $CIG_DIR=$HOME/tools/cig
- export TOOLS_FORMAT=gcc-3.4_64
-
- 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.
-
- 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. Install the PVFS2 Roll (Optional).
-
- PyLith does not currently use parallel I/O, but it will likely do so
- in the future. As a result, we include instructions for installing
- PyLith with PVFS2 and MPICH2 with PVFS2.
-
- PVFS2 provides a virtual parallel file system using the local disk
- on each node. Stability is not great, but it does provide
- significantly better performance than serial I/O. Another features
- is that it spreads the data over the local disks on the I/O
- (compute) nodes.
-
- a. Set Rocks to install the PVFS2 roll.
-
- b. Set environment variables.
-
- export PVFS2_DIR=/opt/pvfs2
- export PVFS2_INCDIR=$PVFS2_DIR/include
- export PVFS2_LIBDIR=$PVFS2_DIR/lib
-
-3. Adjust your environment to use Python 2.4 instead of Python 2.3.
-
- Python 2.3 contains bugs that prevent it full functionality on a
- x86_64 system. Rocks installs Python 2.4 in /opt/rocks.
-
- export PYTHON_VERSION=2.4
- 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
-
-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. Install the software.
-
- python setup.py install --prefix=${TOOLS_DIR}/numpy-1.0.3-2/${TOOLS_FORMAT}
-
- c. Set environment variables.
-
- NUMPY_DIR=${TOOLS_DIR}/numpy-1.0.3/${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-0.9.4/${TOOLS_FORMAT}
-
- c. Set environment variables.
-
- MERCURIAL_DIR=${TOOLS_DIR}/mercurial-0.9.3/${TOOLS_FORMAT}
- PATH=${PATH}:${MERCURIAL_DIR}/bin
- export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-6. Install the AMD Core Math Library (ACML).
-
- http://developer.amd.com/tools/acml/Pages/default.aspx
-
- Notes: (i) You need to register to download.
- (ii) Make sure you download the version appropriate for your
- compiler.
-
- a. Expand the tarball and run the installation script.
- I install to ${TOOLS_DIR}/acml-3.5.0.
-
- b. Set environment variables.
-
- export ACML_DIR=${TOOLS_DIR}/acml-3.5.0/gnu64
- export ACML_LIBDIR=${ACML_DIR}/lib
- export ACML_INCDIR=${ACML_DIR}/include
- export LD_LIBRARY_PATH=${ACML_LIBDIR}:${LD_LIBRARY_PATH}
-
-7. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
-
- IMPORTANT NOTE: When installing MPICH2 to work with PVFS2, the two
- versions must be compatible. If you get errors when building the
- romio portion of MPICH2 associated with PVFS2, you likely don't have
- compatible versions of PVFS2 and MPICH2. I found mpich2-1.0.4p1 to
- be compatible with the Rocks 4.3 PVFS2 roll.
-
- 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 -I${PVFS2_INCDIR}"
- export CXXFLAGS=-fpic
- export F77FLAGS=-fpic
- export LDFLAGS="-L${PVFS2_LIBDIR}"
- export LIBS="-lpvfs2 -lssl -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 --enable-romio --with-file-system=pvfs2+ufs+nfs
- 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
-
-8. 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. 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. 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}
-
-9. 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}
-
-10. 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
-
-11. 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}_debug
-
- 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=${HOME}/tools/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${TOOLS_DIR}/acml-3.5.0/gnu64/lib -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
- make
- make test
-
-12. Install Pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)
-
- Versions up to and including 0.9.5.1 are known to work.
-
- a. Untar and install.
-
- python setup.py install --prefix=${TOOLS_DIR}/pyrex-0.9.5.1/${TOOLS_FORMAT}
-
- b. Update environment variables
-
- PYREX_DIR=${TOOLS_DIR}/pyrex-0.9.5.1a/${TOOLS_FORMAT}
- PATH=${PATH}:${PYREX_DIR}/bin
- export PYTHONPATH=${PYTHONPATH}:${PYREX_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-13. Install CIG's version of pyrexembed.
-
- a. Download the source code from the SVN repository.
-
- svn co http://geodynamics.org/svn/cig/cs/pyrexembed/trunk pyrexembed
-
- b. Install the software.
-
- python setup.py install --prefix=${CIG_DIR}
-
-14. 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
-
-15. 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
-
-16. Install PROJ.4 (http://www.remotesensing.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
-
-17. 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
-
-
-18. 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
-
-19. 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
Modified: short/3D/PyLith/trunk/doc/install/README
===================================================================
--- short/3D/PyLith/trunk/doc/install/README 2008-02-22 04:32:27 UTC (rev 11232)
+++ short/3D/PyLith/trunk/doc/install/README 2008-02-22 14:33:55 UTC (rev 11233)
@@ -36,7 +36,7 @@
MacBookPro_Aagaard.txt Intel Mac (Apple gcc 4.0)
Linux_Fedora8-AMD64_Aagaard.txt x86_64 machine running Fedora 8 (gcc 4.1.2)
-Cluster_Rocks-4.3.txt x86_64 cluster running Rocks 4.3 (gcc 3.4)
+Cluster_Rocks-4.3-AMD64.txt x86_64 cluster running Rocks 4.3 (gcc 3.4)
======================================================================
BUILDING IN A SEPARATE DIRECTORY FROM THE SOURCE TREE
More information about the cig-commits
mailing list