Next: Non-free software
Up: Third party libraries
Previous: Third party libraries
Open source software used with Spheral++
Listed here are the third party packages which Spheral++ requires. Many of
these packages are included in the Spheral++ distribution, but two packages
(7a and 5) have license requirements that do not
allow us to include them in our own distribution, and therefore must be
downloaded separately and installed in the spheral/src/thirdPartyLibs
directory. Once these tar balls are installed in that directory Spheral++'s
build system will automatically configure and build them for you.
Spheral++ benefits greatly from the open-source availability of all of these
packages, without which this project would be much more difficult and
cumbersome.
Python: http://www.python.org
Python is a simple yet powerful scripting language which Spheral++ uses
as it's primary user interface. Spheral++ is in fact simply an extension of the
Python language.
Boost: http://www.boost.org
Boost is a collection of peer-reviewed open source libraries for use with
C++. Spheral++ makes use of a few Boost components, such as the
shared-ptr library and the Boost.Python library written by
Dave Abrahams to bind and expose Spheral++ C++ compiled assets for use in
Python.
NumPy: http://numpy.scipy.org/
NumPy (formerly Numeric Python) adds a fast, compact, multidimensional array
language facility to Python.
Gnuplot http://gnuplot-py.sourceforge.net/
Spheral++ uses the standard
gnuplot plotting package through this Python package to provide simple
plots. This package is just the python frontend to gnuplot -
it requires that the gnuplot package already be installed on your
machine.
- Gnu Scientific Library: http://www.gnu.org/software/gsl/
A collection of useful scientific numerical algorithms coded in C. This is one
of the packages the user is required to download separately. Download the 1.7
release, which can be found at
ftp://ftp.gnu.org/gnu/gsl/gsl-1.7.tar.gz
SciPy: http://www.scipy.org/
A python based collection of numerical algorithms. This not actually required by
Spheral++(and is not included in the distribution), but if you install SciPy in the spheral/src/thirdPartyLibs directory and configure
Spheral++ appropriately, Spheral++ will build and install it.
- The following set of software is all used to support the
Pyste
processor that comes with Boost.Python to automatically expose C++
methods to Python.
GCC_XML: http://www.gccxml.org/HTML/Index.html
An extension to gcc to parse C++ code and output an XML
representation. We currently package a non-release CVS snapshot of this
package with the Spheral++ distribution. On some platorms (IBM's AIX) this
version does not build, and you must download the older 0.6.0 release
from
http://www.gccxml.org/files/v0.6/gccxml-0.6.0.tar.gz
Cmake: http://www.cmake.org/HTML/Index.html
A build system required to build GCC_XML.
Elementtree: http://effbot.org/zone/element-index.htm
A Python data structure useful for holding XML infosets.
PyXML: http://pyxml.sourceforge.net/
A Python package for processing XML.
Psyco: http://psyco.sourceforge.net/
A Python code accelerator (currently only works on 32 bit Intel platforms.)
pyMPI: http://sourceforge.net/projects/pympi
An MPI enhanced version of Python, allowing the user to perform distributed MPI
operations from the Python language via a new module, mpi. pyMPI
serves as the Python interface for Spheral++ in distributed mode.
TAU: http://www.cs.uoregon.edu/research/paracomp/tau/tautools/
A profiling toolkit for analyzing code performance.
Next: Non-free software
Up: Third party libraries
Previous: Third party libraries
Mike Owen
2006-09-13