Skip to content
Bruce Ravel edited this page Jan 8, 2015 · 2 revisions

The build system for feff85exafs requires the following:

  • The SCons software construction tool. We use SCons in place of the more familiar make or other construction tools. SCons is sufficiently robust, cross platform, and extensible in python. On Ubuntu, the package is called scons, so do sudo apt-get install scons.

  • The nose unit testing tool is used to manage unit tests. Extensive use of unit testing is essential to verify that changes made to the code base do not introduce errors into the calculation of the EXAFS. We currently run a broad series of tests, all of which must pass at all times. On Ubuntu, the package is called python-nose, so do sudo apt-get install python-nose.

  • We use JSON to pass information between the Feff executables. We use json-fortran, a JSON parser/writer written using Fortran 2003 extensions. A copy of this comes with feff85exafs. Consequently, you must use a Fortran compiler that can correctly compile. For gfortran, this means you must use version 4.9.2 or later. (On Ubuntu, you may need to do soemthing like this.) See the json-fortran page for information about other compilers, none of which have been tested by us yet.

  • SWIG is used to generate the wrapper around libfeffpath for python and perl. (This might change in the future.) On Ubuntu, the package is called swig, so do sudo apt-get install swig.

The file FeffBuild.py is used to configure the build system for specific compilers. If compiling using a compiler that we have not yet tested, edit that file to specify the necessary command line flags.

Clone this wiki locally