/[escript]/trunk/doc/install/srcommon.tex
ViewVC logotype

Diff of /trunk/doc/install/srcommon.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2546 by caltinay, Fri Jul 17 06:24:15 2009 UTC revision 2547 by caltinay, Mon Jul 20 05:50:46 2009 UTC
# Line 17  Line 17 
17  This chapter describes how to build \esfinley from source assuming that the dependencies are already installed (for example using precompiled packages for your OS).  This chapter describes how to build \esfinley from source assuming that the dependencies are already installed (for example using precompiled packages for your OS).
18  \Sec{sec:deps} describes the dependencies, while \Sec{sec:compilesrc} gives the compile instructions.  \Sec{sec:deps} describes the dependencies, while \Sec{sec:compilesrc} gives the compile instructions.
19    
20  If you would prefer to build all the dependecies from source in the escript-support packages please see \Chap{chap:allsrc}  If you would prefer to build all the dependecies from source in the escript-support packages please see \Chap{chap:allsrc}.
   
21  \esfinley is known to compile and run on the following systems:  \esfinley is known to compile and run on the following systems:
22  \begin{itemize}  \begin{itemize}
23   \item \linux using gcc\footnote{There are some problems with \openmp under gcc prior to version 4.3.2. Also do not link the gomp library with gcc 4.3.3 - it causes problems.} - \Sec{sec:srclinux}   \item \linux using gcc\footnote{There are some problems with \openmp under gcc prior to version 4.3.2. Also do not link the gomp library with gcc 4.3.3 - it causes problems.}
24  \item \linux using icc on SGI ICE 8200.  \item \linux using icc on SGI ICE 8200
25  \item \macosx using gcc - \Sec{sec:srcmac}  \item \macosx using gcc
26  \item \winxp using the Visual C compiler (we do not specifically discuss Windows builds in this guide).  \item \winxp using the Visual C compiler (we do not specifically discuss Windows builds in this guide).
27  \end{itemize}  \end{itemize}
28    
# Line 36  The advantage of using existing packages Line 35  The advantage of using existing packages
35  You must take greater care if downloading sources separately.  You must take greater care if downloading sources separately.
36    
37  \begin{itemize}  \begin{itemize}
38   \item python-2.5.1 (\url{http://python.org}) \\   \item python-2.5.1 (\url{http://python.org}) \\-
39  - Python interpreter (You must compile with shared libraries.)          Python interpreter (you must compile with shared libraries.)
40  \item numpy 1.1.0 (\url{http://numpy.scipy.org})   \item numpy 1.1.0 (\url{http://numpy.scipy.org}) \\-
41  - Arrays for python.          Arrays for python
42  \item boost-1.35 (\url{http://www.boost.org}) \\   \item boost-1.35 (\url{http://www.boost.org}) \\-
43  - Provides an interface between C++ and python.          Interface between C++ and Python
44  \item scons-0.989.5 (\url{http://www.scons.org/}) \\   \item scons-0.989.5 (\url{http://www.scons.org/}) \\-
45  - a python-based alternative to ``make''.          Python-based alternative to ``make''.
46  \end{itemize}  \end{itemize}
47    
48  The version numbers given here are not strict requirements, more recent (and in some cases older) versions will still work.  The version numbers given here are not strict requirements, more recent (and in some cases older) versions are very likely to work.
49  The following packages should be sufficient (but not necessarily minimal) for Debian 5.0 (``Lenny''):  The following packages should be sufficient (but not necessarily minimal) for Debian 5.0 (``Lenny''):
50  python-dev, libboost1.35-dev, scons, python-numpy, g++.  python-dev, libboost1.35-dev, scons, python-numpy, g++.
51    
   
52  These packages may be required for some of the optional capabilities of the system:  These packages may be required for some of the optional capabilities of the system:
53    
54  \begin{itemize}  \begin{itemize}
55   \item netcdf-3.6.2 (\url{http://www.unidata.ucar.edu/software/netcdf}) \\-   \item netcdf-3.6.2 (\url{http://www.unidata.ucar.edu/software/netcdf}) \\-
56          Used to save data sets in binary form for checkpoint/restart (must be compiled with -fPIC).          Used to save data sets in binary form for checkpoint/restart (must be compiled with -fPIC)
57   \item vtk-5.0.4 (\url{http://www.vtk.org}) \\-   \item vtk-5.0.4 (\url{http://www.vtk.org}) \\-
58          This is used to save VTK files for visualization.          Used to save VTK files for visualization
59    \begin{itemize}    \begin{itemize}
60     \item cmake-2.4.6 (\url{http://www.cmake.org}) \\-     \item cmake-2.4.6 (\url{http://www.cmake.org}) \\-
61          Required to build VTK.          Required to build VTK
62     \item mesa-7.0.3 (\url{http://www.mesa3d.org})\\-     \item mesa-7.0.3 (\url{http://www.mesa3d.org})\\-
63          Free OpenGL replacement used by VTK.          Free OpenGL replacement used by VTK
64    \end{itemize}    \end{itemize}
65   \item netpbm (\url{http://netpbm.sourceforge.com}) \\-   \item netpbm (\url{http://netpbm.sourceforge.com}) \\-
66          Tools for producing movies from images          Tools for producing movies from images
67   \item mpich2-1.0.7 (\url{http://www.mcs.anl.gov/research/projects/mpich2}) \\-   \item mpich2-1.0.7 (\url{http://www.mcs.anl.gov/research/projects/mpich2}) \\-
68          Parallelization with MPI.          Parallelization with \mpi
69   \item parmetis-3.1 (\url{http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview}) \\-   \item parmetis-3.1 (\url{http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview}) \\-
70          Optimization of the stiffness matrix.          Optimization of the stiffness matrix
71   \item MKL \\(\url{http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm}) \\-   \item MKL \\(\url{http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm}) \\-
72          Intel's Math Kernel Library for use with their C compiler.          Intel's Math Kernel Library for use with their C compiler.
73  \end{itemize}  \end{itemize}
# Line 77  These packages may be required for some Line 75  These packages may be required for some
75  The following packages might be useful for mesh generation:  The following packages might be useful for mesh generation:
76  \begin{itemize}  \begin{itemize}
77   \item gmsh-2.2.0 (\url{http://www.geuz.org/gmsh}) \\-   \item gmsh-2.2.0 (\url{http://www.geuz.org/gmsh}) \\-
78      Mesh generation and viewing.          Mesh generation and viewing
79    \begin{itemize}    \begin{itemize}
80     \item fltk-1.1.9 (\url{http://www.fltk.org}) \\-     \item fltk-1.1.9 (\url{http://www.fltk.org}) \\-
81      Required to build gmsh          Required to build gmsh
82     \item gsl-1.10 (\url{http://www.gnu.org/software/gsl}) \\-     \item gsl-1.10 (\url{http://www.gnu.org/software/gsl}) \\-
83      Required to build gmsh          Required to build gmsh
84    \end{itemize}    \end{itemize}
85   \item triangle-1.6 (\url{http://www.cs.cmu.edu/~quake/triangle.html})   \item triangle-1.6 (\url{http://www.cs.cmu.edu/~quake/triangle.html}) \\-
86            Two-dimensional mesh generator and Delaunay triangulator.
87  \end{itemize}  \end{itemize}
88    
89  Packages for visualization:  Packages for visualization:
90  \begin{itemize}  \begin{itemize}
91   \item mayavi-1.5 (\url{http://mayavi.sourceforge.net}) \\-   \item mayavi-1.5 (\url{http://mayavi.sourceforge.net}) \\-
92      MayaVi is referenced in our User Guide for viewing VTK files.          MayaVi is referenced in our User's Guide for viewing VTK files
93   \item visit-1.11 (\url{https://wci.llnl.gov/codes/visit/}) \\-   \item visit-1.11.2 (\url{https://wci.llnl.gov/codes/visit/}) \\-
94      A featureful visualization system with movie-making capabilities.          A featureful visualization system with movie-making capabilities.
95  \end{itemize}  \end{itemize}
96    
97  \section{Compilation}\label{sec:compilesrc}  \section{Compilation}\label{sec:compilesrc}
# Line 222  Note that depending on your \mpi flavour Line 221  Note that depending on your \mpi flavour
221    
222  %This is copied from Ken's notes on the old Twiki page  %This is copied from Ken's notes on the old Twiki page
223  \subsubsection{``Bad magic number''}  \subsubsection{``Bad magic number''}
224  Some reasons for this error message include:  This error usually indicates that the version of python used to run escript differs from the version used when installing escript (Use \texttt{which python} and \texttt{python --version} to check).
 \begin{itemize}  
  \item Using different versions of python when installing and running escript (Use \texttt{which python} and \texttt{python --version} to check)  
 \item Using different versions of libraries (Make sure \texttt{LD_LIBRARY_PATH} has \filename{x/lib} listed first, where x is the escript install path)  
 \item Using different versions of python modules (Make sure \texttt{PYTHONPATH} has \filename{/trunk/escript} directory listed first)  
 \end{itemize}  
   
 Another error we sometimes see is unsatisfied externals when trying to run a python script. This is usually due to not having \texttt{LD_LIBRARY_PATH} and \texttt{PYTHONPATH} set correctly so that you run with different libraries from the ones the code was compiled against. Check which libraries you are running against with \texttt{ldd lib/libfinley.so} and \texttt{ldd esys/finley/finleycpp.so}.  
225    
226  It is also possible that incompatible libraries were used when compiling \esfinley.  It is also possible that incompatible libraries were used when compiling \esfinley.
227  For example, if you run with Python2.4 but the software was compiled against Python2.5 then you will get unsatisfied externals or a large error message with a long traceback.  For example, if you run with Python2.4 but the software was compiled against Python2.5 then you will get unsatisfied externals or a large error message with a long traceback.

Legend:
Removed from v.2546  
changed lines
  Added in v.2547

  ViewVC Help
Powered by ViewVC 1.1.26