---------------------------------------------------------------------- OLD INSTALLATION PROCEDURE ---------------------------------------------------------------------- *** WARNING *** This installation procedure is deprecated. It is still provided mainly for architectures that aren't yet supported by the new procedure. ---------------------------------------------------------------------- Installation is a three-step procedure: 1) "cd" to the top directory of the PWscf source tree, and issue this command at the shell prompt: ./configure.old architecture where "architecture" identifies your machine's type. Running "./configure.old" without arguments prints a list of available architectures. 2) Edit the file "make.sys" to adapt to your local configuration: typically, you'll have to specify where libraries are placed on your system. 3) Now run: make "target" Running "make" without arguments prints a list of available targets. See also below. ---------------------------------------------------------------------- First step : choosing the architecture ---------------------------------------------------------------------- In this step, the following files are generated: make.sys compilation settings and flags make.rules compilation rules */.dependencies dependencies, per source directory "make.sys" is copied from a set of architecture-dependent templates. Here is a list of supported architectures: ibmsp IBM SP2/3/4, IBM compiler t3e Cray T3E, Cray compiler origin SGI Origin 2000/3000, SGI compiler altix SGI Altix 350/3000 with Linux, Intel compiler sunmpi Sun parallel machines, Sun compiler alphaMPI HP-Compaq alpha parallel machines, HP-Compaq compiler hp HP PA-RISC workstations, HP compiler hpMPI HP PA-RISC parallel machines, HP compiler ia64 HP Itanium, HP compiler beowulf Linux Beowulf (PC cluster), Portland compiler beo_ifc As above, Intel compiler alpha HP-Compaq alpha workstations, HP-Compaq compiler ibm IBM RS6000 workstations, IBM compiler irix SGI workstations, SGI compiler pc_abs Linux PCs, Absoft compiler pc_pgi Linux PCs, Portland compiler pc_ifc Linux PCs, Intel compiler pc_lahey Linux PCs, Lahey compiler cygwin Windows PC, Intel compiler (experimental) sun Sun workstations, Sun compiler sxcross NEC SX-6, cross-compilation fujitsu Fujitsu vector machines, Fujitsu compiler hitachi Hitachi SR8000 ".dependencies" files are actually generated by the "makedeps.sh" shell script. If you modify the program sources, you might need to rerun it. ---------------------------------------------------------------------- Second step : editing configuration settings ---------------------------------------------------------------------- Edit file "make.sys" and adapt it to your local configuration. (There is a slight chance that it may work out of the box.) In most cases you will have to specify just the name and location of libraries. PWscf needs the following libraries, or equivalent: BLAS, LAPACK linear algebra FFTW discrete Fourier transform MPI (for parallel environment) message passing Highly optimized, architecture-specific libraries may be available on your machine. If this is the case, you may want to use them. Some examples of such libraries are: ESSL (on AIX) replaces BLAS and FFTW MKL (on Intel) replaces BLAS and LAPACK complib.sgimath (on IRIX) replaces BLAS and LAPACK MASS (on AIX) faster transcendental functions Linking of MPI is also handled transparently by some compilers, that is, you don't have to specify the library location. If no BLAS/LAPACK and/or FFTW libraries are available, you can compile them from the sources included with the PWscf distribution. Instructions on how to do it can be found in the "make.sys" template. ---------------------------------------------------------------------- Third step : compiling ---------------------------------------------------------------------- Here is a list of available compilation targets: make pw compile PW/pw.x (electronic and ionic optimization), PW/memory.x (checks memory usage and tests input) make ph compile PH/ph.x (phonons) make pp compile PP/pp.x and other postprocessing codes make d3 compile D3/d3.x (third-order energy derivatives) make gamma compile Gamma/phcg.x (Gamma-only version of ph.x) make fpmd compile FPMD/par2.x (Car-Parrinello MD) make cp compile CPV/cp.x (Car-Parrinello MD with ultrasoft pseudopotentials) make tools compile pwtools/* (miscellaneous tools for data analysis) make pwcond compile PWCOND/pwcond.x (for ballistic conductance) make nc compile PWNC/pw.x (non-colinear magnetism) make raman compile Raman/ram.x (Raman cross-section calculation) make pwall same as "make pw ph pp d3 raman pwcond gamma tools" make ld1 compile atomic/ld1.x code for pseudopotential generation make upf compile upftools/* (utilities for pseudopotential conversion) make links create symbolic links to all executables in bin/ (required to run the examples) make all same as "make pwall ld1 cp fpmd upf" make clean remove object files and executables make veryclean remove configuration files too make tar build a tarball of the current source tree *** Please Note *** If you change any settings after a previous (successful or failed) compilation, you must run "make clean" before recompiling, unless you know exactly which routines are affected by the changed settings and how to force their recompilation.