Easybuild Documentation Release 20150610.01
Total Page:16
File Type:pdf, Size:1020Kb
EasyBuild Documentation Release 20150610.01 Ghent University Wed, 03 Aug 2016 13:23:43 Contents 1 Introductory topics 3 1.1 What is EasyBuild?.........................................3 1.2 Concepts and terminology......................................4 1.2.1 EasyBuild framework....................................4 1.2.2 Easyblocks.........................................4 1.2.3 Toolchains..........................................5 1.2.4 Easyconfig files.......................................5 1.2.5 Extensions..........................................6 1.3 Typical workflow example: building and installing WRF......................6 1.3.1 Searching for available easyconfigs files..........................6 1.3.2 Getting an overview of planned installations........................7 1.3.3 Installing a software stack.................................7 2 Getting started 9 2.1 Installing EasyBuild.........................................9 2.1.1 Requirements........................................9 2.1.2 Bootstrapping EasyBuild..................................9 2.1.3 Advanced bootstrapping options.............................. 12 2.1.4 Dependencies........................................ 14 2.1.5 Sources........................................... 16 2.1.6 In case of installation issues.................................. 16 2.2 Configuring EasyBuild........................................ 16 2.2.1 Supported configuration types............................... 16 2.2.2 Available configuration settings.............................. 20 3 Basic usage topics 27 3.1 Using the EasyBuild command line................................. 27 3.1.1 Specifying builds...................................... 27 3.1.2 Commonly used command line options.......................... 29 3.2 Writing easyconfig files: the basics................................. 36 3.2.1 What is an easyconfig (file)?................................ 37 3.2.2 Available easyconfig parameters.............................. 37 3.2.3 Mandatory easyconfig parameters............................. 37 3.2.4 Common easyconfig parameters.............................. 38 3.2.5 Tweaking existing easyconfig files............................. 41 3.2.6 Dynamic values for easyconfig parameters......................... 42 3.2.7 Contributing back...................................... 42 3.3 Understanding EasyBuild logs.................................... 43 3.3.1 Basic information...................................... 43 3.3.2 Navigating log files..................................... 43 4 Advanced usage topics 45 i 4.1 Integration with GitHub....................................... 45 4.1.1 Using a GitHub token to enable authenticated access via --github-user ....... 45 4.1.2 Using easyconfigs from pull requests via --from-pr .................. 45 4.2 Manipulating dependencies..................................... 47 4.2.1 Filtering out dependencies using --filter-deps ................... 47 4.2.2 Installing dependencies as hidden modules using --hide-deps ............ 47 4.3 Partial installations.......................................... 48 4.3.1 Stopping the installation procedure after a step using -s/--stop ............ 48 4.3.2 Installing additional extensions using -k/-skip ..................... 48 4.3.3 Only (re)generating (additional) module files using --module-only ......... 49 4.4 Using external modules....................................... 52 4.4.1 Using external modules as dependencies.......................... 52 4.4.2 Metadata for external modules............................... 52 5 Other topics 55 5.1 Code style.............................................. 55 5.1.1 Notes............................................ 55 5.2 Unit tests............................................... 55 5.2.1 What the unit tests are not ................................. 56 5.2.2 Available unit test suites.................................. 56 5.2.3 Applications......................................... 57 5.2.4 Usage............................................ 57 5.3 Useful scripts............................................. 59 5.3.1 fix_broken_easyconfigs.py ........................... 59 5.3.2 install-EasyBuild-develop.sh ......................... 60 5.3.3 clean_gists.py .................................... 60 5.4 Deprecated functionality....................................... 61 5.4.1 Overview of deprecated functionality in EasyBuild version 2.1.1............. 61 5.4.2 Deprecation policy..................................... 62 5.4.3 How to check for use of deprecated functionality..................... 63 5.5 Removed functionality........................................ 63 5.5.1 Overview of removed functionality since EasyBuild v2.0................. 63 6 Getting help 71 7 Lists and tables 73 8 Appendices 75 8.1 Changelog for EasyBuild documentation.............................. 75 8.2 Configuration Legacy........................................ 77 8.2.1 Porting from legacy configuration style.......................... 78 8.2.2 How EasyBuild used to be configured in the early days.................. 78 8.3 Available easyconfig parameters................................... 79 8.4 Available easyconfig parameters for EB_WRF........................... 81 8.5 Getting help, --help ........................................ 83 8.6 List of easyblocks.......................................... 87 8.7 List of known toolchains....................................... 91 8.8 Alternative installation methods................................... 91 8.8.1 Standard installation of latest release............................ 92 8.8.2 Installation from downloaded sources........................... 93 8.8.3 Installation of latest release from GitHub......................... 93 8.8.4 Installation of latest development version......................... 94 8.8.5 Installation of latest development version using provided script.............. 94 8.9 Installing environment modules without root permissions...................... 94 8.9.1 Tcl.............................................. 94 8.9.2 Environment Modules................................... 95 8.9.3 Set up your environment.................................. 95 8.10 Installing Lmod without root permissions.............................. 96 8.10.1 Lua............................................. 96 ii 8.10.2 Lmod............................................ 96 8.11 Useful links.............................................. 97 8.12 Sphinx and Read the Docs reference documents online....................... 97 8.13 Third party Sphinx examples, themes and possible extensions................... 97 8.14 EasyBuild release notes....................................... 98 8.14.1 v2.1.1 (May 18th 2015)................................... 98 8.14.2 v2.1.0 (April 30th 2015).................................. 99 8.14.3 v2.0.0 (March 6th 2015).................................. 102 8.14.4 v1.16.2 (March 6th 2015).................................. 105 8.14.5 v1.16.1 (December 19th 2014)............................... 105 8.14.6 v1.16.0 (December 18th 2014)............................... 105 8.14.7 v1.15.2 (October 7th 2014)................................. 108 8.14.8 v1.15.1 (September 23rd 2014)............................... 109 8.14.9 v1.15.0 (September 12th 2014)............................... 110 8.14.10 v1.14.0 (July 9th 2014)................................... 111 8.14.11 v1.13.0 (May 29th 2014).................................. 113 8.14.12 v1.12.1 (April 25th 2014).................................. 116 8.14.13 v1.12.0 (April 4th 2014).................................. 116 8.14.14 v1.11.1 (February 28th 2014)................................ 117 8.14.15 v1.11.0 (February 16th 2014)................................ 118 8.14.16 v1.10.0 (December 24th 2013)............................... 120 8.14.17 v1.9.0 (November 17th 2013)................................ 122 8.14.18 v1.8.2 (October 18th 2013)................................. 124 8.14.19 v1.8.1 (October 14th 2013)................................. 124 8.14.20 v1.8.0 (October 4th 2013)................................. 125 8.14.21 v1.7.0 (September 2nd 2013)................................ 127 8.14.22 v1.6.0 (July 11th 2013)................................... 128 8.14.23 v1.5.0 (June 1st 2013)................................... 129 8.14.24 v1.4.0 (May 2nd 2013)................................... 131 8.14.25 v1.3.0 (April 1st 2013)................................... 133 8.14.26 v1.2.0 (February 28th 2013)................................ 135 8.14.27 v1.1.0 (January 27th 2013)................................. 137 8.14.28 v1.0.2 (December 8th 2012)................................ 139 8.14.29 v1.0.1 (November 24th 2012)................................ 139 8.14.30 v1.0 (November 13th 2012)................................. 140 8.14.31 v0.8 (June 29th 2012).................................... 142 8.14.32 v0.7 (June 18th 2012).................................... 142 8.14.33 v0.6 (May 11th 2012).................................... 142 8.14.34 v0.5 (April 6th 2012).................................... 143 iii iv EasyBuild Documentation, Release 20150610.01 Welcome to the documentation of EasyBuild, a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. This documentation is intended for EasyBuild version 2.1.1, and was last rebuilt on Wed, 03 Aug 2016 13:23:42. Contents 1 EasyBuild Documentation, Release 20150610.01 2 Contents CHAPTER 1 Introductory topics 1.1 What is EasyBuild? EasyBuild is a