next up previous
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.
  1. 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.

  2. 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.

  3. NumPy: http://numpy.scipy.org/
    NumPy (formerly Numeric Python) adds a fast, compact, multidimensional array language facility to Python.

  4. Gnuplot http://gnuplot-py.sourceforge.net/
    Spheral++ uses the standard gnuplot plotting package through this Python package to provide simple $(x,y)$ plots. This package is just the python frontend to gnuplot - it requires that the gnuplot package already be installed on your machine.

  5. 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

  6. 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.

  7. 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.
    1. 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
    2. Cmake: http://www.cmake.org/HTML/Index.html
      A build system required to build GCC_XML.
    3. Elementtree: http://effbot.org/zone/element-index.htm
      A Python data structure useful for holding XML infosets.
    4. PyXML: http://pyxml.sourceforge.net/
      A Python package for processing XML.
    5. Psyco: http://psyco.sourceforge.net/
      A Python code accelerator (currently only works on 32 bit Intel platforms.)

  8. 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.

  9. TAU: http://www.cs.uoregon.edu/research/paracomp/tau/tautools/
    A profiling toolkit for analyzing code performance.


next up previous
Next: Non-free software Up: Third party libraries Previous: Third party libraries
Mike Owen 2006-09-13