potfit wiki

open source force-matching

User Tools

Site Tools


compiling:main

This is an old revision of the document!


potfit is compiled with GNU make, which we call gmake in the following. Note that on most systems, GNU make is called make. Most other implementations of make won't work.

<syntaxhighlight lang=“bash”>gmake [FLAGS=“some flags”] potfit-target</syntaxhighlight>

The compiler and compilation flags are determined according to the <tt>SYSTEM</tt> variable, which has to be set once in the Makefile on line 125 or 126.

Further compile or link flags, in addition to those determined by the <tt>SYSTEM</tt> variable, can be passed on the command line with the help of the <tt>FLAGS</tt> variable.

After compiling, the potfit executable is moved to the directory <tt>$HOME/bin</tt>, if this exists. Otherwise it is not moved. The location where executables are put can also be customized in the Makefile (line 130).

<tt>potfit-target</tt> consists of several components and has the following structure:

 potfit[_parallelization][_option][_option]...

Most features of potfit must be activated with the corresponding compilation option in the make target. The most important option is the interaction you want to use. Most options can coexist with each other.

Here are some examples that might help you compile potfit.

Compilation Options

The compilation options are described together with the simulation features they enable. For details, see the Options.

Supported values of the <tt>SYSTEM</tt> variable

Currently, the following values of the <tt>SYSTEM</tt> variable are supported and properly tested:

x86_64-gcc All recent 64 bit processors, gcc x86_64-icc All recent 64 bit processors, icc

The following values of the <tt>SYSTEM</tt> variable are also available but not very well tested:

i686-gcc 32 bit processor, gcc i686-icc 32 bit processor, icc

Support for different values of <tt>SYSTEM</tt> is easily added. The Makefile contains a detailed decsription of how the compile and link flags are determined from a number of Makefile variables, which has to be set for each supported value of <tt>SYSTEM</tt>. There is a template from which one can start.

Problems with the Intel Math Kernel Library

If you are having trouble linking potfit with the Intel MKL, please take a look at the [http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ MKL Link Line Advisor]. Replace the <tt>LIBS</tt> variable in your profile by the output of the advisor.

compiling/main.1362054048.txt.gz · Last modified: 2013/02/28 13:20 by daniel