next up previous contents
Next:  Testing the executable Up:  Installation guide Previous:  Using the pre-compiled executables   Contents

 Building from source

The minimum requirement for building GraphEnt 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/). If you want .mtz support you also need a fortran compiler and the CCP4 library, and for graphics support you need the PGPLOT library (from http://astro.caltech.edu/~tjp/pgplot/). To build an executable without CCP4 or graphics support, the following should suffice (assuming you are in the GraphEnt/src/ directory) :


cc <my_optimisation_flags> -DNOCCP4 -DNOPGPLOT GraphEnt.c -o GraphEnt -lsrfftw -lsfftw -lm
which assumes that you had built FFTW with the -enable-float -enable-type-prefix options, and that the libraries are in the ld's search path (add a -L/my_lib/dir/fftw/ flag to cc if they are not).

If you have the CCP4 and PGPLOT libraries, and these are located somewhere in ld's search path, you can build the GraphEnt executable by giving :


cc <my_optimisation_flags> -c GraphEnt.c
f77 <my_optimisation_flags> GraphEnt.o -lsrfftw -lsfftw -lccp4 -lcpgplot -lpgplot -lX11 -lm
mv a.out GraphEnt
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 files included in the examples directory). When you built PGPLOT do not forget to 'make cpg' as well (this will build the C wrapper library for PGPLOT).

For specific examples as to how the executables were built on the various supported machines, see the 0README files in the various GraphEnt/bin subdirectories.

This way of linking GraphEnt (ie with separate calls to cc & f77) will not work on DEC (Compaq) machines. The way to compile and link (in one step) is described in the file GraphEnt/bin/OSF/0README.

Building a useable 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 GraphEnt but I believe that you should aim for a ``simple'' executable (no CCP4 or PGPLOT). 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.


next up previous contents
Next:  Testing the executable Up:  Installation guide Previous:  Using the pre-compiled executables   Contents
NMG, Nov 2002