compiling:waf
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| compiling:waf [2018/09/16 10:13] – daniel | compiling:waf [2018/09/16 10:21] (current) – removed daniel | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~NOTOC~~ | ||
| - | ====== Compiling potfit using waf ====== | ||
| - | ---- | ||
| - | //potfit// uses the [[https:// | ||
| - | |||
| - | ===== Basics ===== | ||
| - | |||
| - | 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 a building a binary with the requested options is possible and the build stage then invokes the compiler to create the binary. | ||
| - | |||
| - | === 1. Configuration === | ||
| - | |||
| - | The configuration uses the '' | ||
| - | |||
| - | < | ||
| - | |||
| - | A minimal configuration needs to specify at least the interaction (-i) and maybe the potential model (-m): | ||
| - | |||
| - | < | ||
| - | |||
| - | After the configuration stage is complete a summary of selected options will be shown: | ||
| - | < | ||
| - | potfit has been configured with the following options: | ||
| - | potential model = apot | ||
| - | interaction | ||
| - | math library | ||
| - | </ | ||
| - | |||
| - | === 2. Build === | ||
| - | |||
| - | The build process can be start with the '' | ||
| - | |||
| - | < | ||
| - | |||
| - | Since '' | ||
| - | |||
| - | Once the build process is complete, there will be a line indicating the name of the created binary: | ||
| - | |||
| - | < | ||
| - | ---> Successfully moved potfit_apot_pair_mkl to bin/ folder <--- | ||
| - | </ | ||
| - | |||
| - | ===== Setting options ===== | ||
| - | |||
| - | Special options when compiling //potfit// can be set using the '' | ||
| - | |||
| - | To enable support from stress, provide the '' | ||
| - | |||
| - | < | ||
| - | |||
| - | 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 | ||
| - | </ | ||
| - | |||
| - | ===== 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 by adding additional '' | ||
| - | |||
| - | ===== Developer guide ===== | ||
| - | |||
| - | TODO | ||
| - | How to edit wscript file, maybe create new subpage | ||
compiling/waf.1537085596.txt.gz · Last modified: 2018/09/16 10:13 by daniel
