compiling:main
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| compiling [2013/03/04 07:39] – daniel | compiling:main [2020/10/12 15:51] (current) – [Advanced options] print -- as --, not ndash pbro | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| ====== Compiling potfit ====== | ====== Compiling potfit ====== | ||
| ---- | ---- | ||
| - | //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. | ||
| - | <code bash> | + | //potfit// uses the [[https:// |
| - | The compiler | + | The old [[compiling: |
| - | Further compile or link flags, in addition to those determined by the '' | + | ===== Basics ===== |
| - | After compiling, the potfit | + | The //potfit// source tree contains the waf binary in its root folder. It is used for all build related operations like configuration, |
| + | < | ||
| - | '' | + | Building //potfit// is split up into two stages: first a configuration stage and then a build stage. The configuration stage checks if all requirements for building a //potfit// binary with the requested options is possible and the build stage then invokes the compiler to create the binary. |
| - | | + | === 1. Configuration === |
| - | Most features of potfit must be activated with the corresponding compilation option in the make target. | + | The configuration uses the '' |
| - | Here are some [[Compiling/Examples|examples]] that might help you compile | + | < |
| - | === Compilation Options | + | A minimal configuration needs to specify at least the interaction (-i) and the potential model (-m): |
| - | The compilation options are described together with the simulation features they enable. For details, see the [[options]]. | + | < |
| - | === Supported values | + | After the configuration stage is complete a summary |
| + | < | ||
| + | potfit has been configured with the following options: | ||
| + | potential model | ||
| + | interaction | ||
| + | math library | ||
| + | </ | ||
| - | Currently, the following values of the '' | + | === 2. Build === |
| - | < | + | The build process can be start with the '' |
| - | x86_64-icc All recent 64 bit processors, icc</ | + | |
| - | The following values of the '' | + | < |
| - | < | + | Since '' |
| - | i686-icc 32 bit processor, icc</ | + | |
| - | Support for different values of '' | + | Once the build process |
| - | === Problems with the Intel Math Kernel Library | + | < |
| + | ---> Successfully moved potfit_apot_pair_mkl to bin/ folder <--- | ||
| + | </ | ||
| - | If you are having trouble linking | + | ===== Setting options ===== |
| + | |||
| + | Special options when compiling | ||
| + | |||
| + | To enable support from stress, provide | ||
| + | |||
| + | < | ||
| + | |||
| + | All enabled options will also be listed on the summary of the configuration stage: | ||
| + | |||
| + | < | ||
| + | potfit has been configured with the following options: | ||
| + | potential model = apot | ||
| + | interaction | ||
| + | math library | ||
| + | options | ||
| + | </ | ||
| + | |||
| + | Some examples for compiling //potfit// with the waf build system are shown [[compiling:examples|here]]. | ||
| + | |||
| + | ===== Advanced options ===== | ||
| + | |||
| + | Most issues with the waf build systems can be resolved using the information provided on the '' | ||
| + | Here are some common issues and their recommended solution: | ||
| + | |||
| + | === Setting MKL path === | ||
| + | |||
| + | The default path for the MKL libraries is '' | ||
| + | |||
| + | < | ||
| + | |||
| + | === Setting compiler === | ||
| + | |||
| + | By default waf will search for the following compilers (in the same order as provided here): | ||
| + | * Intel Compiler Collection | ||
| + | * Clang | ||
| + | * GCC | ||
| + | To select a particular compiler use the '' | ||
| + | |||
| + | < | ||
| + | |||
| + | Waf will search for the compiler in the default paths. | ||
| + | |||
| + | Additionally it is possible to use the '' | ||
| + | |||
| + | === Setting debug options === | ||
| + | |||
| + | Depending on the selected compiler the following debug options are available: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ===== Troubleshooting ===== | ||
| + | |||
| + | When waf encounters an error there is usually a message which provides detailed information about the command which failed. If this is not the case it is possible to enable more logging by adding | ||
| + | |||
| + | < | ||
| + | |||
| + | Logging can be increased even further | ||
| + | |||
| + | ===== Developer guide ===== | ||
| + | |||
| + | A short introduction to extending | ||
compiling/main.1362379169.txt.gz · Last modified: 2013/03/04 07:39 by daniel
