next up previous contents
Next:  Parallel Qs Up: Installation Previous:  Using the stand-alone executables   Contents

 Building from source

The minimum requirement for building QS is that you have a C compiler and the the FFTW libraries compiled in the single precision mode (FFTW can be obtained from http://www.fftw.org/. You need version 2.1.3 or 2.1.5. The newer v.3.x libraries will not do (as yet)). Assuming that you built FFTW with the -enable-float -enable-type-prefix options, and that the libraries and include files are in the cc's and ld's search path, the following should suffice

cd Qs/src/
./configure
make
make install

Building a usable executable on non-Unix machines is expected to be rather more challenging, with the first challenge being to build the FFTW library. If you manage to build FFTW, then you might as well give it a try with QS by giving from the command line (if one exists) : 8

cc <my_optimisation_flags> Qs.c -o Qs -lsrfftw -lsfftw -lm

where <my_optimisation_flags> correspond to the highest safe level of optimisation supported by your compilers (you can always check that everything is OK by comparing the results from the test file included in the example directory).

If you are getting error messages during compilation, try adding a -DVMS flag in the cc step above. If the problems persist, please do send me a mail message, but do not expect too much. 9


Footnotes

... :8
IRIX users : if you decide that you would like to prepare an executable optimised for your machine (with options like -Ofast=??? -r???? -TARG:platform=???:processor=r????), you must take care to prepare the FFTW libraries using the same ABI (-32, -n32, -64), or you won't be able to link the program.
... much.9
It is still possible to make an executable that does not depend on FFTW, but this requires that you have the Numerical Recipes library (or code) for their radix-2 FFT. I am afraid that because the Numerical Recipes code is copyrighted, I can not distribute it with QSs source code. If you do have the NR code, all you need to do is to edit the source code and change the line #define FFTW 1 to #undef FFTW and to add the NR library in the cc line (with something like -lrecipes).

next up previous contents
Next:  Parallel Qs Up: Installation Previous:  Using the stand-alone executables   Contents
NMG, January 2005