Compiling TINKER 7.1 on ARCHER (XC30)
This page provides compilation instructions for TINKER 7.1 on ARCHER (Cray XC30, Ivy Bridge).
Note: This package is centrally installed on ARCHER. Hence it is not necessary for users to compile an individual version of TINKER in order to use the software.
Module Setup
Swap to the intel compiler suite, and load the default fftw3 module
module swap PrgEnv-cray PrgEnv-intel module load fftw
Building
This installation employs the current version of TINKER as made available via http://dasher.wustl.edu/tinker/ and the link 'TINKER Distribution Directory': http://dasher.wustl.edu/tinker/distribution/
This version is named "Version 7.1 February 2015".
This installation employs the Intel Programming Environment, PrgEnv-intel/5.2.56, which provides ifort 14.0.4. Further, this installation employs the default FFTW3 module, fftw/3.3.4.1, instead of using the FFTW3 code that comes with TINKER.
The Makefile was altered to read
TINKERDIR = /work/y07/y07/cse/tinker/tinker BINDIR = $(TINKERDIR)/bin LINKDIR = $(TINKERDIR)/link_bin
and
F77 = ftn LIBS = -lfftw3_threads -lfftw3 F77FLAGS = -c -xHost OPTFLAGS = -O3 -no-ipo -no-prec-div -recursive -openmp LIBFLAGS = -crusv RANLIB = ranlib LINKFLAGS = $(OPTFLAGS) -static-libgcc -static-intel -openmp -v
and the process of making is as follows:
cd source cp ../make/Makefile . module switch PrgEnv-cray PRgEnv-intel module load fftw3
At this point, from the documentation, it appears that to make TINKER one first runs 'make all', followed by 'make rename'.
On ARCHER, this process fails at the first step, with the following error:
cse@eslogin004:/work/y07/y07/cse/tinker/tinker/source> make all alchemy.x analyze.x anneal.x archive.x bar.x correlate.x crystal.x diffuse.x distgeom.x document.x dynamic.x gda.x intedit.x intxyz.x minimize.x minirot.x minrigid.x molxyz.x monte.x newton.x newtrot.x nucleic.x optimize.x optirot.x optrigid.x path.x pdbxyz.x polarize.x poledit.x potential.x prmedit.x protein.x pss.x pssrigid.x pssrot.x radial.x saddle.x scan.x sniffer.x spacefill.x spectrum.x superpose.x sybylxyz.x testgrad.x testhess.x testpair.x testpol.x testrot.x timer.x timerot.x torsfit.x valence.x vibbig.x vibrate.x vibrot.x xtalfit.x xtalmin.x xyzedit.x xyzint.x xyzpdb.x xyzsybyl.x make: alchemy.x: Command not found make: *** [all] Error 127
i.e. it attempts to run the executable alchemy.x.
We can, however, make each executable one-by-one, i.e.
make alchemy.x make analyze.x make anneal.x make archive.x make bar.x [...] make xyzint.x make xyzpdb.x make xyzsybyl.x
where the first line, namely 'make alchemy.x', actually makes all the required object files (rather than just alchemy.o and then the associated executable). Further, 'make alchemy.x' also creates a library of these objects, namely libtinker.a, in the source directory. Each further make statement then builds each executable, linking against the newly created libtinker.a.
The command 'make rename' can then be run, which takes the executables and places them in the /bin directory. This command does not copy/move the library file libtinker.a. The library file was copied, by hand, into the /lib directory.
This long method of installation is available within the script source/script_install_gjp.txt
Back to the TINKER page