EasyBuild release notes¶
The latest version of EasyBuild provides support for building and installing 611 different software packages, using 33 different (compiler) toolchains. It contains 145 software-specific easyblocks and 22 generic easyblocks, alongside 3,689 easyconfig files.
v2.1.1 (May 18th 2015)¶
bugfix release
framework
- fix issue with missing load statements when
--module-onlyis used, don’t skip ready/prepare steps (#1276) - enhance
--search: only consider actual filename (not entire path), use regex syntax (#1281) - various other bug fixes, including:
- fix
generate_software_list.pyscript w.r.t. dependencies marked as external modules (#1273) - only use
$LMOD_CMDvalue iflmodbinary can’t be found in $PATH (#1275) - fix location of
module_onlybuild option w.r.t. default value (#1277) - fix combined use of
--hide-depsandhiddendependencies(#1280) - remove log handlers that were added during tests, to ensure effective cleanup of log files (#1282)
- this makes the unit test suite run ~3x faster!
- define
$CRAYPE_LINK_TYPEif ‘dynamic‘ toolchain option is enabled for Cray compiler wrappers (#1283)
- fix
easyblocks
- fix compatibility of easyblocks with
--module-only+ dedicated unit test module (#610) - minor enhancements, including:
- update GROMACS easyblock for version 5 (#513)
- various other bug fixes, including:
- only check compiler being used if FFTW interfaces are being built in Intel MKL easyblock (#606)
easyconfigs
- added example easyconfig files for 3 new software packages:
- added new easyconfigs for existing toolchains:
ictce/7.3.5,CrayCCE/5.2.40,CrayGNU/5.2.40,CrayIntel/5.2.40 - added easyconfigs using
CrayGNU/5.2.25andCrayGNU/5.2.40toolchains (#1610, #1611) - added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including Boost 1.58.0, GROMACS 5.0.4, Python 3.4.3
- various bug fixes, including:
v2.1.0 (April 30th 2015)¶
feature + bugfix release
framework
- requires vsc-base v2.2.0 or more recent
- added support for LoggedException (vsc-base#160, vsc-base#163, vsc-base#165, vsc-base#167)
- added support for add_flex action in GeneralOption (vsc-base#162)
- added support to GeneralOption to act on unknown configuration environment variables (vsc-base#162)
- add support for only (re)generating module files:
--module-only(#1018)- module naming scheme API is enhanced to include det_install_subdir method
- see Only (re)generating (additional) module files using –module-only
- add support for generating module files in Lua syntax (note: requires Lmod as modules tool) (#1060, #1255, #1256, #1270)
- see
--module-syntaxconfiguration option and Module files syntax (–module-syntax)
- see
- deprecate
log.errormethod in favor of raisingEasyBuildErrorexception (#1218) - add support for using external modules as dependencies, and to provide metadata for external modules (#1230, #1265, #1267)
- add experimental support for Cray toolchains on top of PrgEnv modules:
CrayGNU,CrayIntel,CrayCCE(#1234, #1268) - various other enhancements, including:
- clear list of checksums when using
--try-software-version(#1169) - sort the results of searching for files (e.g.,
--searchoutput) (#1214) - enhance test w.r.t. use of templates in cfgfile (#1217)
- define ‘
%(DEFAULT_REPOSITORYPATH)s‘ template for cfgfiles (seeeb --avail-cfgfile-constants) (#1220) - also reset
$LD_PRELOADwhen running module commands, in case module defined$LD_PRELOAD(#1222) - move location of ‘
module use‘ statements in generated module file (after ‘module load‘ statements) (#1232) - add support for
--show-default-configfiles(#1240) - report error on missing configuration files, rather than ignoring them (#1240)
- clean up commit message used in easyconfig git repository (#1248)
- add
--hide-depsconfiguration option to specify names of software that must be installed as hidden modules (#1250) - add support for appending/prepending to
--robot-pathsto avoid overwriting default robot search path (#1252) - enable detection of use of unknown
$EASYBUILD-prefixed environment variables (#1253) - add
--installpath-modulesand--installpath-softwareconfiguration options (#1258) - use dedicated subdirectory in temporary directory for each test to ensure better cleanup (#1260)
- get rid of
$PROFILEREADhack when running commands, not needed anymore (#1264)
- clear list of checksums when using
- various bug fixes, including:
- make bootstrap script robust against having
vsc-basealready available in Python search path (#1212, #1215) - set default value for unpack_options easyconfig parameter to
'', soself.cfg.updateworks on it (#1229) - also copy rotated log files (#1238)
- fix parsing of
--download-timeoutvalue (#1242) - make
test_XDG_CONFIG_env_varsunit test robust against existing user config file in default location (#1259) - fix minor robustness issues w.r.t.
$XDG_CONFIG*and$PYTHONPATHin unit tests (#1262) - fix issue with handling empty toolchain variables (#1263)
- make bootstrap script robust against having
easyblocks
- replace ‘
log.error‘ with ‘raise EasyBuildError‘ in all easyblocks (#588) - one new generic easyblock:
ConfigureMakePythonPackage(#540) - new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- enhance WIEN2k easyblock for recent versions + cleanup (#486)
- define
$PYTHONNOUSERSITEin PythonPackage easyblock so user-installed packages are not picked up (#577) - add support in CP2K easyblock for building on top of MPICH/MPICH2 (#579)
- enhance Hadoop easyblock to support parallel builds (#580)
- drop
-norootfor recent FLUENT versions, honorinstallopts, enable-debug(#582) - include
prebuildoptsin build command for Python packages (#585) - also install
rosetta_toolssubdirectory for Rosetta (#586) - update SLEPc easyblock for v3.5 + style cleanup (#593)
- minor fix in HPL easyblock w.r.t. checking defined environment variables (#595)
- tweak CP2K easyblock w.r.t. LAPACK/FFTW support (#596)
- minor update to GCC easyblock to support GCC v5.x (#598)
- update sanity check in R easyblock for version 3.2.0 (#602)
- various bug fixes, including:
- fix Score-P easyblock for compiler-only toolchains, include Qt as optional dependecy (#552)
- fix definition of
$MKLROOT, should be set to ‘mkl‘ subdir of install dir (#576) - add
-libmpichf90to list of MPI libraries in NWChem easyblock (#584) - stop using ‘
$root‘ to make easyblocks compatible with module files in Lua syntax (#590) - also set
$PYTHONPATHbefore installing Python package in temporary directory intest_step(#591) - unset
buildopts/installoptsbefore installing Python extensions in Python easyblock (#597) - allow not including vsc-base sources when installing EasyBuild (gets installed with easybuild-framework) (#600)
- use
self.initial_environrather thanself.orig_environin EasyBuildMeta easyblock (#600) - make GCC easyblock compatible with
--module-onlyby setting default value forself.platform_libin constructor (#603)
easyconfigs
- added example easyconfig files for 27 new software packages:
- AFNI (#1322, #1521), BCFtools (#1492), getdp (#1518), gmsh (#1518), gtest (#1244), hanythingondemand (#1530), mawk (#1369), Minimac (#815), Minimac3 (#1502), monty (#1548), Octave (#1563), pbs_python (#1530), pigz (#1036), Pygments (#1536), pyhull (#1539), pymatgen (#1549), PyQt (#1322, #1521), Ray (#1494), requests (#1536), seqtk (#1524), SIP (#1322, #1521), S-Lang (#1369), Spark (#1554), spglib (#1549), TINKER (#1465), tmux (#1369), Xmipp (#1489)
- added easyconfigs for new (Cray-specific) toolchains (#1538):
CrayGNU,CrayIntel,CrayCCE- initially supported software (using CrayGNU toolchains): CP2K, GROMACS, HPL, Python + numpy/scipy, WRF (#1558)
- see also https://github.com/hpcugent/easybuild/wiki/EasyBuild-on-Cray
- added new easyconfigs for existing toolchains:
goolf/1.5.16,intel/2014.06 - added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including GCC v5.1.0, OpenFOAM v2.3.1, R v3.1.3 and v3.2.0, PETSc/SLEPc v3.5.3, WIEN2k v14.1
- various other enhancements, including:
- include pbr dependency for lockfile Python extension in Python v2.7.9 easyconfigs + mock/pytz/pandas (#1462, #1540)
- include SQLite as dependency in Python v2.7.9 easyconfigs (#1468)
- set
$LD_PRELOADfor Hoard and jemalloc (#1470) - fix homepage in SCOTCH easyconfigs (#1485)
- adding missing six/ecdsa dependencies for dateutil/paramiko Python packages in Python easyconfigs (#1504, #1505, #1506, #1507, #1508, #1509, #1510)
- enable
pictoolchain option in expat easyconfigs (#1562) - extend list of source URLs for Bioconductor packages in R easyconfigs to include ‘release’ source URLs (#1568)
- various bug fixes, including:
- adding missing zlib dependency in all Tcl easyconfig files (#1344)
- fix homepage in FLUENT easyconfigs (#1472)
- use
--with-verbsrather than deprecated--with-openibin OpenMPI configure options (#1511) - stop relying on
OS_NAMEconstant to specify OS dependencies in OpenMPI easyconfigs (#1512) - replace use of ‘
$root‘ with ‘%(installdir)s‘ to ensure compatibility with module files in Lua syntax (#1532) - stop relying on ‘
$MKLROOT‘ in ROOT easyconfigs (#1537) - use proper Bundle easyblock for biodeps/PRACE (#1566)
- make source_urls in Cube and Scalasca easyconfigs compatible with –try-software-version (#1574)
- add patch for Cube to fix configure script w.r.t. Qt dependency, add –without-java-reader configure option (#1574)
v2.0.0 (March 6th 2015)¶
feature + bugfix release
framework
- requires vsc-base v2.0.3 or more recent
- avoid deprecation warnings w.r.t. use of
messageattribute (vsc-base#155) - fix typo in log message rendering
--ignoreconfigfilesunusable (vsc-base#158)
- avoid deprecation warnings w.r.t. use of
- removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
- see Removed functionality
- the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (#1151, #1206, #1207)
- for more information about this script, see fix_broken_easyconfigs.py
- stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
- vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
- see Required Python packages
- various other enhancements, including:
- add support for Linux/POWER systems (#1044)
- major cleanup in
tools/systemtools.py+ significantly enhanced tests (#1044) - add support for ‘
eb -a rst‘, list available easyconfig parameters in ReST format (#1131) - add support for specifying one or more easyconfigs in combination with
--from-pr(#1132) - define
__contains__in EasyConfig class (#1155) - restore support for downloading over a proxy (#1158)
- i.e., use
urllib2rather thanurllib - this involved sacrificing the download progress report (which was only visible in the log file)
- i.e., use
- let
mpi_familyreturnNoneif MPI is not supported by a toolchain (#1164) - include support for specifying system-level configuration files for EasyBuild via
$XDG_CONFIG_DIRS(#1166) - make unit tests more robust (#1167, #1196)
- see Unit tests
- add hierarchical module naming scheme categorizing modules by
moduleclass(#1176) - enhance bootstrap script to allow bootstrapping using supplied tarballs (#1184)
- disable updating of Lmod user cache by default, add configuration option
--update-modules-tool-cache(#1185)- for now, only the Lmod user cache can be updated using
--update-modules-tool-cache
- for now, only the Lmod user cache can be updated using
- use available
which()function, rather than running ‘which‘ viarun_cmd(#1192) - fix
install-EasyBuild-develop.shscript w.r.t. vsc-base dependency (#1193) - also consider robot search path when looking for specified easyconfigs (#1201)
- various bug fixes, including:
- stop triggering deprecated/no longer support functionality in unit tests (#1126)
- fix
from_prtest by including dummy easyblocks for HPL and ScaLAPACK (#1133) - escape use of ‘
%‘ in string with command line options with--job(#1135) - fix handling specified patch level 0 (+ enhance tests for fetch_patches method) (#1139)
- fix formatting issues in generated easyconfig file obtained via
--try-X(#1144) - use
log.errorintools/toolchain/toolchain.pywhere applicable (#1145) - stop hardcoding
/tmpinmpi_cmd_forfunction (#1146, #1200) - correctly determine variable name for
$EBEXTLISTwhen generating module file (#1156) - do not ignore exit code of failing postinstall commands (#1157)
- fix rare case in which used easyconfig and copied easyconfig are the same (#1159)
- always filter hidden deps from list of dependencies (#1161)
- fix implementation of
path_matchesfunction intools/filetools.py(#1163) - make sure plain text keyring is used by unit tests (#1165)
- suppress creation of module symlinks for
HierarchicalMNS(#1173) - sort all lists obtained via
glob.glob, since they are in arbitrary order (#1187) - stop modifying
$MODULEPATHdirectly insetUp/tearDownof toolchain tests (#1191)
easyblocks
- one new generic easyblock for installing a bundle of modules:
Bundle(#550)- and let the
Toolchaingeneric easyblock derive fromBundle
- and let the
- new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- move support for
staged_installfrom CPLEX easyblock to genericBinaryeasyblock (#502) - fix sanity check in picard easyblock for v1.119 that doesn’t include
sam.jar(#522) - log warning message when unlinking jellyfish symlink fails in Trinity easyblock (#534)
- revamp
EB_libint2easyblock intoEB_Libintthat works for both Libint v1x and v2.x (#536) - update CP2K easyblock for recent versions (no more ‘
fes‘) (#537) - update SuiteSparse easyblock for recent versions (#541)
- fix easyblock unit tests after dropping support for deprecated behaviour in framework (#543)
- rework PSI easyblock to support future releases (#545)
- enable always generating a ‘verbose’ Makefile in the generic CMakeMake easyblock (#546)
- remove functionality in (generic) easyblocks that was deprecated for EasyBuild v2.0 (#547)
- enhance generic RPackage easyblock to support installing extensions in a separate prefix (#551)
- deprecate GenomeAnalysisTK easyblock, since it’s basically equivalent to Tarball (#557)
- update SAMtools easyblock for v1.2 (#562)
- take
preconfigoptseasyconfig parameter into account in ROOT easyblock (#566) - update easyblock for installing EasyBuild
- update disabling sanitizer tests for Clang 3.6 (#570)
- move support for
- various bug fixes, including: * fix handling of LTO in GCC easyblock (#535) * relocate FDTD RPM to fix installation on SL6 (#538)
easyconfigs
- added example easyconfig files for 29 new software packages:
- bsoft (#1353), Coot (#1400), Cuby (#1258), DSRC (#1242), Exonerate (#568), fastqz (#1242), FSA (#568), fqzcomp (#1242), GAMESS-US (#1153, #1406), Grep (#1308), Hadoop (#1418), Hoard (#1415), IMB (#1284), ISL (#1389), jemalloc (#1416), libdwarf (#1283), libelf (#1283), MPC (#1310), multitail (#1327), Pmw (#1403), Quip (#1242), rCUDA (#720), SCALCE (#1242), SMALT (#568), STREAM (#1332), worker (#1307), Xerces-C++ (#1370), XQilla (#1370), ZPAQ (#1242)
- added easyconfigs for new (common) toolchains
- added new software bundle:
Autotools(#1385) - various other enhancements, including:
- don’t define
$LDSHAREDin zlib easyconfigs (#1350)- this fixes the long-standing “
no version information available” issue with zlib - see also framework#108
- this fixes the long-standing “
- add unit test to check that all
extra_optionskeys are defined inEasyConfiginstance (#1378) - add source MD5 checksums in all GCC easyconfigs (#1391)
- speeding up the unit tests by avoiding rereading of same easyconfig file (#1432)
- fix conflict detection in unit tests by considering build deps separately from runtime deps (#1447)
- fix toolchain for Bison build dep in
MVAPICH2-1.9-iccifort-2011.13.367.ebeasyconfig (#1448) - use
Bundlegeneric easyblock for HPCBIOS bundles and fixmoduleclass(#1451)
- don’t define
- various bug fixes, including:
- revert version of Libint dependency to 1.1.4 in CP2K v2.5.1 easyconfig (#1144)
- added Java dependencies to EMBOSS easyconfigs (#1167)
- don’t list ‘
lto‘ as a language in GCC easyconfigs (#1286)- related to the fixes in the GCC easyblock, see easyblocks#535
- rename libint2 easyconfigs as Libint v2 easyconfigs (#1287)
- fix mpi4py
source_urlsin Python easyconfigs (#1306) - consistently use CLooG 0.18.0 for GCC 4.8 series (#1392)
- rename GenomeAnalysisTk easyconfigs to GATK (#1399)
- include
openssl-develSLES11 OS dependency in cURL/MySQL/Python easyconfigs (#1422) - add missing Perl dependency in parallel easyconfigs (#1430)
- correct name in BLAST+ easyconfigs (#1443)
- fix name for sparsehash easyconfigs (#1452)
v1.16.2 (March 6th 2015)¶
bugfix release
framework
(no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)
easyblocks
- make
EB_EasyBuildMetaeasyblock aware of vsc-base to make upgrading to EasyBuild v2.0.0 possible (#573)
easyconfigs
(no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)
v1.16.1 (December 19th 2014)¶
bugfix release
framework
- fix functionality that is broken with
--deprecated=2.0or with$EASYBUILD_DEPRECATED=2.0 - other bug fixes
- fix logging issues in tests, sync with vsc-base v2.0.0 (#1120)
easyblocks
- fix EasyBuild versions for which
$EASYBUILD_DEPRECATED=1.0is set in EasyBuild sanity check (#531)
easyconfigs
- set default easyblock to ConfigureMake in TEMPLATE.eb (#1277)
v1.16.0 (December 18th 2014)¶
feature + bugfix release
framework
- deprecate automagic fallback to
ConfigureMakeeasyblock (#1113)- easyconfigs should specify
easyblock = 'ConfigureMake'instead of relying on the fallback mechanism - note: automagic fallback to
ConfigureMakeeasyblock will be removed in EasyBuild v2.0 - see also Automagic fallback to ConfigureMake
- easyconfigs should specify
- stop triggering deprecated functionality, to enable use of
--deprecated=2.0(#1107, #1115, #1119)- see Deprecated functionality for more information
- various other enhancements, including:
- add script to clean up gists created via
--upload-test-report(#958) - also use
-xHostwhen using Intel compilers on AMD systems (as opposed to-msse3) (#960) - add Python version check in
ebcommand (#1046) - take
versionprefixinto account inHierarchicalMNSmodule naming scheme (#1058) - clean up and refactor
main.py, move functionality to other modules (#1059, #1064, #1075, #1087) - add check in
download_filefunction for HTTP return code + show download progress report (#1066, #1090) - include info log message with name and location of used easyblock (#1069)
- add toolchains definitions for
gpsmpi,gpsolf,impich,intel-para,ipsmpitoolchains (#1072, #1073)- support for Parastation MPI based toolchains
- enforce that
hiddendependenciesis a subset ofdependencies(#1078)- this is done to avoid that site-specific policies w.r.t. hidden modules slip into contributed easyconfigs
- enable use of
--show_hiddenforavailsubcommand with recent Lmod versions (#1081) - add
--robot-pathsconfigure option (#1080, #1093, #1095, #1114) - support use of
%(DEFAULT_ROBOT_PATHS)stemplate in EasyBuild configuration files (#1100)- see also Controlling the robot search path
- use
-xHostrather than-xHOST, to match Intel documentation (#1084) - update and cleanup
READMEfile (#1085) - deprecate
self.moduleGeneratorin favor ofself.module_generatorinEasyBlock(#1088) - also support
MPICHMPI family inmpi_cmd_forfunction (#1098) - update documentation references to point to http://easybuild.readthedocs.org (#1102)
- check for OS dependencies with both
rpmanddpkg(if available) (#1111)
- add script to clean up gists created via
- various bug fixes, including:
- fix picking required software version specified by
--software-versionand clean uptweak.py(#1062, #1063) - escape
$characters in module load message specified viamodloadmsgeasyconfig parameter) (#1068) - take available hidden modules into account in dependency resolution (#1065)
- fix hard crash when using patch files with an empty list of sources (#1070)
- fix Intel MKL BLACS library being used for MPICH/MPICH2-based toolchains (#1072)
- fix regular expression in
fetch_parameter_from_easyconfig_filefunction (#1096) - don’t hardcode queue names when submitting a job (#1106)
- fix affiliation/mail address for Fotis in headers (#1105)
- filter out
/dev/nullentries in patch file indet_patched_filesfunction (#1108) - fix
gmpolftoolchain definition, to havegmpichas MPI components (instead ofgmpich2) (#1101)- ‘MPICH’ refers to MPICH v3.x, while MPICH2 refers to MPICH(2) v2.x (MPICH v1.x is ancient/obsolete)
- note: this requires to reinstall the
gmpolfmodule, using the updated easyconfig from easybuild-easyconfigs#1217
- fix picking required software version specified by
easyblocks
- new easyblocks for 2 software packages that requires customized support:
- fix use of deprecated functionality, enhance unit tests to check for it (#523)
- various other enhancements, including:
- update PETSc easyblock for recent versions (v3.5) (#446)
- only include major/minor version numbers for FLUENT subdir (#480)
- factor out ‘move after install’ code from impi easyblock to
IntelBase, use it for itac (#487) - support custom easyconfig parameters in
EB_impieasyblock to correct behavior of MPI wrapper commands (#493) - consider both
libandlib64in sanity check for GROMACS (#501) - take
preinstalloptsandinstalloptsinto account inBinaryeasyblock (#503) - add sanity check command
abaqus information=allfor ABAQUS (#504) - update and clean up
README, refer to http://easybuild.readthedocs.org documentation (#505, #516) - rename deprecated
self.moduleGeneratortoself.module_generator(#506)- see also easybuild-framework#1088
- check whether specified
typevalue is a known value (psmporpopt) in CP2K easyblock (#509) - add support to
SAMtoolseasyblock for installing recent versions (v1.x) (#512) - fix version check + sanity check in Geant4 easyblock + style fixes (#517)
- added
$root/modlibto$PYTHONPATHguesses in Modeller easyblock (#525) - mark
licensecustom easyconfig parameter as deprecated inIntelBase(#527)
- various bug fixes, including:
- fix Libxc version check in CP2K easyblock (#478)
- correctly specify
mkl_libswhen building numpy with GCC and imkl (#485) - extend noqa for OpenFOAM-Extend in build_step (#488, #520)
- correctly set
$LD_LIBRARY_PATH,$LIBRARY_PATHand$PKG_CONFIG_PATHforR(#495) - fix default value for
files_to_copyinMakeCpeasyblock (#500) - treat
MPICHMPI family as MPICH v3.x instead of MPICH v1.x (#519)- see also easybuild-framework#1112
- fix affiliation/mail address for Fotis in headers (#521)
- clean up in
extra_optionsmethods, avoid casting return value todictor returning via parent (#528)
easyconfigs
- added example easyconfig files for 39 new software packages:
- ANTs (#1232), BEOPS (#1264), Chhimera (#1255), ctffind (#1249), DBD-SQLite (#1064), DBD-mysql (#1063), DIALIGN-TX (#668), ffmpeg (#1088), GObject-Introspection (#1079), GTS (#1079), Graphviz (#1079), GraphViz2 (#1079), grace (#1131), HarfBuzz (#1079), HTSlib (#1161), GSSAPI (#1048), Kerberos_V5 (#1048), libevent (#1063), libXdmcp (#1129), libXft (#1017), libXinerama (#1017), libXrender (#1017), Maven (#1094), MySQL (#1063), Net-LibIDN (#1060), OpenCV (#1088), OpenMD (#1105), Qhull (#1105), Pango (#1079), psmpi (#1245, #1246), RELION (#1017), renderproto (#1017), rjags (#1125), runjags (#1125), SPRNG (#1138, #1141), xineramaproto (#1017), XML-Dumper (#1061), XML-Parser (#1061), XML-Twig (#1061)
- added easyconfigs for new toolchains
- include
easyblock = 'ConfigureMake'in relevant easyconfigs to deal with deprecation of automagic fallback toConfigureMake(#1248) - clean up use of deprecated functionality in existing easyconfigs (#1252, #1259)
- stop using deprecated
makeopts,premakeoptsandshared_lib_ext - check for use of deprecated functionality in easyconfigs unit tests
- see also http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html#easyconfig-parameters
- stop using deprecated
- various other enhancements, including:
- also build
fftw3_threadslibraries, and enhance sanity checks (#1013) - add unit test to verify specified
sanity_check_paths(#1119) - update and clean up
README, refer to http://easybuild.readthedocs.org documentation (#1184, #1224)
- also build
- various bug fixes, including:
- fix unit tests w.r.t. changes in framework (#1146)
- remove unnecessary build dependencies for OpenMPI (#1168)
- remove duplicate line in OpenMPI easyconfigs (#1207)
- fix affiliation/mail address for Fotis in headers (#1237)
- fix permissions of easyconfig files for consistency (#1210)
- disable symbol lookup feature in cairo to fix build on SL6 (#1241)
- fix easyconfig
gmpolftoolchain w.r.t. MPICH software name (#1217)- see also easybuild-framework#1112
- fix
source_urlsfor WRF and WPS (#1225) - fix and clean up GATE easyconfigs (#1228)
- fix broken CLHEP builds by including
-gccin$CXXFLAGS(#1254) - add patch to fix broken test in Go (#1257)
- fix name of GMAP easyconfigs, should be GMAP-GSNAP (#1268)
- fix easyconfig filenames, enhance unit test to check easyconfig filenames (#1271)
v1.15.2 (October 7th 2014)¶
bugfix release
framework
- fix
$MODULEPATHextensions for Clang/CUDA, to makegoolfc/cgoolfcompatible withHierarchicalMNS(#1050) - include
versionsuffixin module subdirectory withHierarchicalMNS(#1050, #1055) - fix unit tests which were broken with bash patched for ShellShock bug (#1051)
- add definition of gimpi toolchain, required to make gimkl toolchain compatible with
HierarchicalMNS(#1052) - don’t override
COMPILER_MODULE_NAMEobtained fromClangGCCin Clang-based toolchains (#1053) - fix wrong code in
path_to_top_of_module_treefunction (#1054)- because of this, load statements for compilers were potentially included in higher-level modules under
HierarchicalMNS
- because of this, load statements for compilers were potentially included in higher-level modules under
easyblocks
- only disable sanitizer tests for recent Clang versions (#481, #482)
- pass down installopts to CUDA install command (#483)
easyconfigs
- disable parallel build for slalib (#968)
- fix compatibility of goolfc with HierarchicalMNS by using GCC toolchain for installing CUDA (#1106, #1115)
- fix zlib OS dependency spec for Debian in Boost easyconfigs (#1109)
- fix compatibility of gimkl with HierarchicalMNS by using gimpi subtoolchain (#1110)
- make both GCC and Clang first-class members in Clang-based toolchains to fix compatibility with HierarchicalMNS (#1113)
v1.15.1 (September 23rd 2014)¶
bugfix release
framework
- take into account that multiple modules may be extending
$MODULEPATHwith the same path, when determining path to top of module tree (see #1047)- this bug caused a load statement for either
iccorifortto be included in higher-level modules installed with an Intel-based compiler toolchain, under theHierarchicalMNSmodule naming scheme
- this bug caused a load statement for either
- make
HierarchicalMNSmodule naming scheme compatible withcgoolfandgoolfctoolchain (#1049) - add definition of
iompi(sub)toolchain to makeiomkltoolchain compatible withHierarchicalMNS(#1049)
easyblocks
(no changes compared to v1.15.0, simple version bump to stay in sync with easybuild-framework)
easyconfigs
v1.15.0 (September 12th 2014)¶
feature + bugfix release
framework
- various other enhancements, including:
- fetch extension sources in fetch_step to enhance
--stop=fetch(#978) - add
iimpitoolchain definition (#993) - prepend robot path with download location of files when
--from-pris used (#995) - add support for excluding module path extensions from generated modules (#1003)
- see
include_modpath_extensionseasyconfig parameter
- see
- add support for installing hidden modules and using them as dependencies (#1009, #1021, #1023)
- see
--hiddenandhiddendependencieseasyconfig parameter
- see
- stop relying on
conflictstatement in module files to determine software name of toolchain components (#1017, #1037)- instead, the
is_short_modname_formethod defined by the module naming scheme implementation is queried
- instead, the
- improve error message generated for a missing easyconfig file (#1019)
- include path where tweaked easyconfigs are placed in robot path (#1032)
- indicate forced builds in
--dry-runoutput (#1034) - fix interaction between
--forceand--try-toolchain --robot(#1035) - add
--softwareoption, disable recursion for--try-software(-X)(#1036)
- fetch extension sources in fetch_step to enhance
- various bug fixes, including:
* fix
HierarchicalMNScrashing when MPI library is installed with a dummy toolchain (#986) * fix list of FFTW wrapper libraries for Intel MKL (#987) * fix stability of unit tests (#988, #1027, #1033) * make sure$SCALAPACK_INC_DIR(and$SCALAPACK_LIB_DIR) are defined when usingimkl(#990) * fix error message on missing FFTW wrapper libs (#992) * fix duplicate toolchain elements in--list-toolchainsoutput (#993) * filter out load statements that extend the$MODULEPATHto make the module being installed available (#1016) * fix conflict specification included in module files (#1017) * avoid--from-prcrashing hard unless--robotis used (#1022) * properly quote GCC version string in archived easyconfig (#1028) * fix issue with--repositorypathnot honoring--prefix(#1031) * sync with latest vsc-base version to fix log order (#1039) * increase # commits per page for--from-pr(#1040)
easyblocks
- added support for 2 new software packages that requires customized support:
- various enhancements, including:
- fix locale used for running Perl unit tests (#425)
- fix Rmpi easyblock to correctly configure for Intel MPI (#435)
- add support in generic Rpackage easyblock for handling patches (#435)
- enhance OpenFOAM easyblock: fix building MPI build of Pstream and (pt)scotchDecomp + overall cleanup (#436)
- enhance NWChem easyblock for version 6.3, clean up running of test cases (#441)
- enhance noqa for interactive configuration of Qt build procedure (#447)
- add custom sanity check for R in easyblock (#449)
- make perlmodule take into account
(pre){config,build,install}opts(#450) - add support for specifying an activation key after installing Mathematica (#452)
- consider both
libandlib64directories in netCDF sanity check (#453) - fix sanity check for ANSYS for v15.0.x (#458)
- fix Trilinos easyblock for recent version (#462)
- enhance impi easyblock to handle install subdir for impi v5.0.1 and future version (#465, #472)
- include $CFLAGS in linker flags for HPL (#466)
- update sanity test checks for GROMACS 5.x (#471)
- various bug fixes:
- fix building of FFTW wrappers for Intel MKL v11.1.x + cleanup of imkl easyblock (#445)
easyconfigs
- added example easyconfig files for 13 new software packages:
- added easyconfigs for new toolchains (#986, #1051):
- gimkl/1.5.9, ictce/7.1.2
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including Python 2.7.8/3.4.1, Perl 5.20.0, R 3.1.1, NWChem 6.3, OpenFOAM-Extend 3.1, GCC 4.9.1, Clang 3.4.2, ...
- various enhancements, including:
- make existing ictce/intel toolchains compatible with HierarchicalMNS (#1069)
- this involves installing impi with an iccifort toolchain, and imkl with an iimpi toolchain
- make existing ictce/intel toolchains compatible with HierarchicalMNS (#1069)
- various bug fixes, including:
- download link for Perl modules changed to use cpan.metapan.org
- fix missing MPI-based OpenFOAM libraries (
Pstream,(pt)scotchDecomp), make sure provided SCOTCH is used (#957)
v1.14.0 (July 9th 2014)¶
feature + bugfix release
framework
- important changes
- required Lmod version bumped to v5.6.3 (#944)
- required due to enhancements and bug fixes in Lmod, e.g. making
--terse availsignificantly faster, and correctly handling aprepend-pathstatement that includes multiple directories at once
- required due to enhancements and bug fixes in Lmod, e.g. making
- required Tcl/C environment modules version set to 3.2.10 (
- hard requirement due to fixed
modulecmdsegmentation fault bug, that only tends manifests itself when making a large amount of changes in the environment (e.g.module load <toolchain>)
- hard requirement due to fixed
- renamed
EasyBuildModuleNamingSchemetoEasyBuildMNS
- required Lmod version bumped to v5.6.3 (#944)
- enhanced custom module naming schemes functionality to support hierarchical module naming schemes (#953, #971, #975)
- extended API for custom module naming schemes to allow tweaking different aspects of module naming
- see
easybuild/tools/module_naming_scheme/mns.pyfor abstractModuleNamingSchemeclass - an example hierarchical module naming scheme is included, see
HierarchicalMNS
- see
- split up full module names into a module subdirectory part, which becomes part of
$MODULEPATH), and a ‘short’ module name (is exposed to end-users)- example:
GCC/4.7.2inCoresubdir,OpenMPI/1.6.5inCompiler/GCC/4.7.2subdir
- example:
- make
ModuleNamingSchemeclass a singleton, move it intoeasybuild.tools.module_naming_scheme.mnsmodule - implement
ActiveMNSwrapper class for quering active module naming scheme - implement toolchain inspection functions that can be used in a custom module naming scheme
det_toolchain_compilers,det_toolchain_mpiineasybuild.tools.module_naming_scheme.toolchain
- significant code cleanup & enhanced unit tests
- extended API for custom module naming schemes to allow tweaking different aspects of module naming
- enhance & clean up
tools/modules.py(#944, #953, #963, #964, #969)- make
ModulesToola singleton to avoid repeating module commands over & over again needlessly - use
module use,module unuserather than fiddling with$MODULEPATHdirectly - improve debug logging (include full stdout/stderr output of module commands)
- remove deprecated functionality (
add_module,remove_module, indirect module load)
- make
- various other enhancements, including:
- added toolchain definitions for ‘common’ toolchains:
intelandfoss(#956) - implement caching for easyconfig files, parsed easyconfigs and toolchains (#953)
- enable
--ignore-osdepsimplicitely when-D,--dry-runor--dep-graphare used (#953) - flesh out
use_groupanddet_parallelismfunction, include them ineasybuild.tools.systemtools(#953) - make symlinking of module files part of module naming scheme API (#973)
- list of symlinks paths can be controlled using
det_module_symlink_paths()method
- list of symlinks paths can be controlled using
- added support for new configuration options:
- tweaking compiler flags triggered by
optarchtoolchain options using--optarch(#949) - filtering out dependencies from easyconfig files using
--filter-deps(#957) - filtering environment included in test reports with
--test-report-env-filter(#959) e.g.--test-report-env-filter='^SSH|USER|HOSTNAME|UID|.*COOKIE.*' - made suffix used for module files install path configurable, using
--suffix-modules-path(#973)
- tweaking compiler flags triggered by
- added support for additional easyconfig parameters:
* define aliases in module files (
modaliases) (#952) * add print message on module load (modloadmsg) and Tcl footer (modtclfooter) in module files (#954, #974)
- added toolchain definitions for ‘common’ toolchains:
- various bug fixes, including:
easyblocks
- added one new generic easyblock: CmdCp (#395)
- added support for 2 new software packages that requires customized support:
- various enhancements, including:
- updated ABAQUS easyblock so that it works for version 13.2 (#406)
- enhance BLAT easyblock by using
super‘sbuild_stepandprebuildopts/buildopts(#423) - enhance Mothur easyblock to guess correct start dir for recent versions (#424)
- replace use of deprecated (pre)makeopts with (
pre)``buildopts`` in all easyblocks (#427) - fix poor mans version of toolchain compiler detection in imkl easyblock (#429)
- various bug fixes:
easyconfigs
- added example easyconfig files for 17 new software packages:
- added easyconfigs for new toolchains (#935, #944, #948):
- foss/2014b, ictce/6.3.5, intel/2014b
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- various enhancements, including:
- various bug fixes, including: * really enable OpenMP support in FastTree easyconfigs (#947) * fix easyconfigs unit tests after changes in framework (#958)
v1.13.0 (May 29th 2014)¶
feature + bugfix release
framework
- make
--try-Xcommand line options work recursively (i.e. collaborate with--robot) (#922)- EasyBuild will first build a full dependency graph of the specified easyconfigs, and then apply the
--tryspecifications- the elements of the dependency graph for the used toolchain and its dependencies are left untouched
- this makes
eb foo-1.0-goolf-1.4.10.eb --try-toolchain=ictce,5.5.0 --robotalso work whenfoohas dependencies - caveat: the specified easyconfig files must all use the same toolchain (version)
- EasyBuild will first build a full dependency graph of the specified easyconfigs, and then apply the
- add support for testing easyconfig pull requests from EasyBuild command line (#920, #924, #925, #932, #933, #938)
- add
--from-prcommand line option for downloading easyconfig files from pull requests - add
--upload-test-reportcommand line option for uploading a detailed test report to GitHub as a gist- this requires specifying a GitHub username for which a GitHub token is available, using
--github-user - with
--dump-test-report, the test report can simply be dumped to file rather than being uploaded to GitHub - see also https://github.com/hpcugent/easybuild/wiki/Review-process-for-contributions#testing-result
- this requires specifying a GitHub username for which a GitHub token is available, using
- add
- the
makeoptsandpremakeoptseasyconfig parameter are deprecated, and replaced bybuildoptsandprebuildopts(#918)- both
makeoptsandpremakeoptswill still be honored in future EasyBuild v1.x versions, but should no longer be used
- both
- various other enhancements, including:
- add
--disable-cleanup-builddircommand line option, to keep the build dir after a (successful) build (#853)- the build dir is still cleaned up by default for successful builds, i.e.
--cleanup-builddiris the default
- the build dir is still cleaned up by default for successful builds, i.e.
- also consider lib32 in paths checked for
$LD_LIBRARY_PATHand$LIBRARY_PATH(#912) - reorganize support for file/git/svn repositories into
repositorypackage, making it extensible (#913) - add support for
postinstallcmdseasyconfig parameter, to specify commands that need to be run after the install step (#918) - make
VERSION=part in version of C environment modules tool optional, which is required for older versions (#930)
- add
- various bug fixes, including:
- fix small issues in bootstrap script: correctly determine EasyBuild version and make sure modules path exists (#915)
- fix github unit tests (#916)
- disable useless debug logging for unit tests (#919)
- fix unit test for
--skip(#929) - make sure
start_dircan be set based on location of unpacked first source file (#931) - the
vscpackage shipped with easybuild-framework is synced with vsc-base v1.9.1 (#935)- fancylogger (used for logging in EasyBuild) is now robust against strings containing UTF8 characters
- the
deprecatedlogging function now does a non-strict version check (rather than an erroneous strict check) - the
easybuild.tools.agithubmodule is removed,vsc.utils.restnow provides the required functionality
- fix support for unpacking gzipped source files, don’t unpack
.gzfiles in-place in the source directory (#936)
easyblocks
- added support for 1 new software package that requires customized support:
- Go (#417)
- various enhancements, including:
- enhance OpenFOAM easyblock so OpenFOAM-Extend fork can be built too + style fixes (#253, #416)
- enhance CPLEX easyblock by adding support for staged installation (#372)
- include support for
configure_cmd_prefixeasyconfig parameter in ConfigureMake generic easyblock (#393) - enhance GCC easyblock for building v4.9.0 and versions prior to v4.5 (#396, #400)
- enhance easyblocks for Intel ipp and itac to support recent versions (#399)
- enhance Clang easyblock: install static analyzer (#402), be more robust against changing source dir names (#413)
- enhance FoldX easyblock, update list of potential FoldX binaries to support recent versions (#407)
- add runtime patching in Boost easyblock to fix build issue with old Boost versions and recent glibc (> 2.15) (#412)
- enhance
MakeCpgeneric easyblock: use location of 1st unpacked source as fallback base dir forfiles_to_copy(#415)
- various bug fixes:
- fix installing Mathematica when X forwarding is enabled (make sure
$DISPLAYis unset) (#391) - fix permissions of installed files in SAMtools easyblock, ensure read/execute for group/other (#409)
- fix implementation of
det_pylibdirfunction in PythonPackage generic easyblock (#419, #420)- determine Python lib dir via
distutilsPython, which works cross-OS (as opposed to hardcodinglib)
- determine Python lib dir via
- fix installing Mathematica when X forwarding is enabled (make sure
easyconfigs
- added example easyconfig files for 32 new software packages:
- APBS (#742), BayesTraits (#770), bc (#888), BitSeq (#791), CEM (#789), CVS (#888), eXpress (#786), file (#888), GEMSTAT (#861), GMAP (#594), Go (#887), iscp (#602), IsoInfer (#773), Jellyfish (#868), less (#888), libcircle (#883), mcpp (#602), MMSEQ (#795), MUSTANG (#800), OpenFOAM-Extend (#437), popt (#759), pscom (#759), psmpi2 (#759), QuadProg++ (#773), rSeq (#771), RSEQtools (#870), Ruby (#873), segemehl (#792), SOAPec (#879), SOAPdenovo2 (#874), SRA-Toolkit (#793), texinfo (#888)
- added easyconfig for new toolchain goolfc/1.4.10
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- e.g., older versions of Boost (1.47.0), GCC (4.1-4.4), & recent versions of Clang, GCC, Lmod, etc.
- various enhancements, including:
- various bug fixes, including:
v1.12.1 (April 25th 2014)¶
bugfix release
framework
- return to original directory after executing a command in a subdir (#908)
- fix bootstrap with Lmod, fix issue with module function check and Lmod (#911)
easyblocks
(no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)
easyconfigs
(no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)
v1.12.0 (April 4th 2014)¶
feature + bugfix release
framework
- various enhancements, including:
- completed support for custom module naming schemes (#879, #904)
- a fully parsed easyconfig file is now passed to the
det_full_module_namefunction - this does require that an easyconfig file matching the dependency specification is available
- a fully parsed easyconfig file is now passed to the
- added more features to better support using a shared install target with multiple users (#902, #903, #904)
- further development on support for new easyconfig format (v2.0) (#844, #848)
- not considered stable yet, so still requires using
--experimental
- not considered stable yet, so still requires using
- enhanced bootstrap script to also support Lmod and
modulecmd.tclmodule tools (#869) - added support to
run_cmd_qafunction to supply a list of answers (#887) - detect mismatch between definition of
modulefunction and selected modules tool (#871)- allowing mismatch now requires
--allow-modules-tool-mismatch; an emptymodulefunction is simply ignored
- allowing mismatch now requires
- provide lib64 fallback option for directories in default sanity check paths (#896)
- add support for adding JAR files to
$CLASSPATH(#898) - enhanced and cleaned up unit tests (#877, #880, #884, #899, #901)
- code cleanup and refactoring
- get rid of global variable for configuration settings in
config.py, use singleton instead (#874, #888, #890, #892) - track build options via singleton in
config.pyrather than passing them around all over (#886, #889) - avoid parsing easyconfig files multiple times by passing a parsed easyconfig to the easyblock (#891)
- deprecate list of tuples return type of
extra_optionsstatic method (#893, #894) - move OS dependency check to
systemtools.pymodule (#895)
- get rid of global variable for configuration settings in
- completed support for custom module naming schemes (#879, #904)
- bug fixes, including:
- fix linking with
-lcudartif CUDA is part of the toolchain, should also include-lrt(#882)
- fix linking with
easyblocks
- various enhancements, including:
- various bug fixes:
* Clang: disable sanitizer tests when vmem limit is set (#366)
* make sure all libraries are installed for recent Intel MKL versions (#375)
* fix appending Intel MPI include directories to
$CPATH(#371) * statically link readline/ncurses libraries in Python and NWChem easyblocks (#370, #383, #385) * fix easyblock unit tests after changes in framework (#376, #377, #378)
easyconfigs
- added example easyconfig files for 6 new software packages:
- added easyconfigs for new toolchains:
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- various enhancements, including:
- various bug fixes, including:
* fix Qt source_urls (#756)
* enable
-fPICin ncurses 5.9 ictce/5.2.0 easyconfig, just like in the others (#801) * fix unit tests after changes to framework (#763, #766, #769)
v1.11.1 (February 28th 2014)¶
bugfix release
framework
- various bug fixes, including:
- fix hard crash when
$LMOD_CMDspecified full path to lmod binary, butspiderbinary is not in$PATH(#861, #873) - fix bug in initialisation of repositories, causing problems when a repository subdirectory is specified (#852)
- avoid long wait when dependency resolution fails if
--robotis not specified (#875)
- fix hard crash when
easyblocks
(no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)
easyconfigs
(no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)
v1.11.0 (February 16th 2014)¶
feature + bugfix release
framework
- various enhancements, including:
- add checksum support for extensions (#807)
- make checksum functionality more memory efficient by reading in blocks (#836)
- rewrite of dependency solving for speed and better reporting of missing dependencies (#806, #818)
- refactoring of
main.py(#815, #828)- function/method signatures to pass down build options
- move functions from main.py into easybuild.framework.X or easybuild.tools
- provide better build statistics (#824)
- add –experimental,
--deprecatedand--oldstyleconfigcommand line options (#838)- with
--experimental, new but incomplete (or partially broken) features are enabled - with
--deprecated, removed of deprecated functionality can be tested (anything deprecated will fail hard) - with
--disable-oldstyleconfig, support for the old style configuration is disabled
- with
- define
$LIBRARY_PATHin generated module files (#832) - more constants for source URLs (e.g. for downloads from bitbucket) (#831)
- prefer
$XDG_CONFIG_HOMEand~/.config/easybuildover~/.easybuildfor configuration files (#820) - add support for specifying footers to be appended to generated module files (#808)
- see
--modules-footercommand line option
- see
- track version of modules tool + cleanup of
modules.py(#839) - move actual
run_cmdandrun_cmd_qaimplementations fromtools.filetoolsintotools.run(#842, #843) - add support for generating modules that support recursive unloading (#830)
- see
--recursive-module-unloadcommand line option
- see
- add flexibility support for specifying OS dependencies (#846)
- alternatives can be specified, e.g. (
openssl-devel,libssl-dev)
- alternatives can be specified, e.g. (
- initial (incomplete) support for easyconfig files in new format (v2.0) (#810, #826, #827, #841)
- requires
--experimentalto be able to experiment with format v2 easyconfig files
- requires
- various bug fixes, including:
- fix problems with use of new-style configuration file (#821)
- fix removal of old build directories, unless
cleanupoldbuildeasyconfig parameter is set (#809) - fix support for different types of repository path specifications (#814)
- fix unit tests sensitive to
$MODULEPATHand available easyblocks (#845)
easyblocks
- added one new generic easyblock:
VSCPythonPackage(#348) - added support for 1 new software package that requires customized support:
- netcdf4-python (#347)
- various enhancements, including:
- add support for installing recent tbb versions (#341)
- use
makeoptsin the build step of the genericPythonPackageeasyblock (#352) - define the
$CMAKE_INCLUDE_PATHand$CMAKE_LIBRARY_PATHin the genericCMakeMakeeasyblock (#351, #360) - update Clang easyblock to support v3.4 (#346)
- make sure Python is built with SSL support, adjust Python easyblock to pick up OpenSSL dep (#359)
- note: providing OpenSSL via an OS package is still recommended, such that security updates are picked up
- add support for recent netCDF versions (#347)
- update SuiteSparse easyblock for new versions, and clean it up a bit (#350)
- various bug fixes:
- fix name of
VersionIndependentPythonPackageeasyblock, deprecateVersionIndependendPythonPackageeasyblock (#348) - fix detection of machine architecture in FSL easyblock (#353)
- fix bug in NWChem easyblock w.r.t. creating local dummy
.nwchemfile (#360) - make sure
$LIBRARY_PATHis set for Intel compilers and Intel MPI, fix 64-bit specific paths (#360)
- fix name of
easyconfigs
- added example easyconfig files for 30 new software packages:
- argtable (#669), Clustal-Omega (#669), Coreutils (#582), GMT (#560), gperftools (#596), grep (#582), h4toh5 (#597), libunwind (#596), Lmod (#600, #692), Lua (#600, #692), MAFFT (#654), Molekel (#597), NEdit (#597), netcdf4-python (#660), nodejs (#678), OCaml (#704), patch (#582), PhyML (#664), PRACE Common Production Environment (#599), protobuf (#680), python-dateutil (#438), sed (#582), sickle (#651), Tesla-Deployment-Kit (#489), TREE-PUZZLE (#662), VCFtools (#626), Vim (#665), vsc-mympirun-scoop (#661), vsc-processcontrol (#661), XZ (#582)
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- OpenSSL with ictce toolchain (#703)
- various enhancements, including:
- various bug fixes, including:
v1.10.0 (December 24th 2013)¶
feature + bugfix release
framework
- various enhancements, including:
- set unique default temporary directory, add
--tmpdircommand line option (#695) - add support for computing and verifying source/patch file checksums (#774, #777, #779, #801, #802)
- cfr.
checksumseasyconfig parameter
- cfr.
- add support for eb –confighelp, which prints out an example configuration file (#775)
- add initial support for
ebtab completion in bash shells (#775, #797, #798)- see also https://github.com/hpcugent/easybuild/wiki/Setting-up-tab-completion-for-bash
- note: may be quite slow for now
- enhancements for using Lmod as modules tool (#780, #795, #796):
- ignore Lmod spider cache by setting
$LMOD_IGNORE_CACHE(requires Lmod 5.2) - bump required Lmod version to v5.2
- get rid of slow workaround for detecting module directories (only required for older Lmod versions)
- fix version parsing for Lmod release candidates (rc)
- improve integration with lmod spider by adding
Description: `` prefix to ``module-whatisfield of module
- ignore Lmod spider cache by setting
- add
--dry-short-short/-Dand--search-short/-Scommand line options (#781) - add toolchain definition for ‘gompic’, intended for using with CUDA-aware OpenMPI (#783)
- add support for specifying multiple robot paths (#786)
- add various source URL constants, add support for
%(nameletter)sand%(nameletterlower)stemplates (#793) - add
buildininstalldireasyconfig parameter (#794) - add
--ignore-osdepscommand line option (#799, #802)
- set unique default temporary directory, add
- various bug fixes, including:
- enable
-mt_mpicompiler flag if bothusempiandopenmptoolchain options are enabled (#771) - only use
libmkl_solver*libraries for Intel MKL versions prior to 10.3 (#776) - fix toolchain support for recent Intel tools (#785)
- code style fixes in
main.pyto adhere more to PEP8 (#789) - make sure
easyblockeasyconfig parameter is listed ineb -a(#791) - fix error that may pop up when using
skipsteps=source(#792)
- enable
easyblocks
- added one new generic easyblock:
VersionIndependendPythonPackage(#329, #334) - added support for 2 new software packages that require customized support:
- various enhancements, including:
- fix support for recent SAMtools version (>= 0.1.19) (#320)
- fix support for recent Intel tools (icc, ifort, imkl, impi) (#325, #327, #338)
- enhance generic easyblock for installing RPMs (#332)
- pick up
preinstalloptsin genericPythonPackageeasyblock (#334) - enhance CP2K easyblock (libxc support, new versions) + style cleanup (#336)
- various bug fixes:
- use unwanted env var functionality to unset
$MKLROOTrather than failing with an error (#273) - always include
-wflag for preprocessor to supress warnings that may break QuantumESPRESSO configure (#317) - link with multithreaded LAPACK libs for ESMF (#319)
- extend
noqandalist of patterns in CUDA easyblock (#328, #337) - add
import _ctypesto Python sanity check commands to capture a common build issue (#329) - bug fixes in generic
IntelBaseeasyblock (#331, #333, #335)- remove broken symlink
$HOME/intelif present - fix use of gettempdir to obtain a common (user-specific) tmp dir to symlink
$HOME/intelto
- remove broken symlink
- fix build of recent scipy versions with GCC-based toolchain (#334)
- fix use of gettempdir to obtain common (user-specific) tmp dir for
$HOME/.nwchemrcsymlink (#340, #342) - extend
noqandalist in Qt easyblock (#342)
- use unwanted env var functionality to unset
easyconfigs
- added example easyconfig files for 18 new software packages:
- BEDTools (#579, #632, #635), CAP3 (#548), CHARMM (#584), cutadapt (#620), ErlangOTP (#556, #630), Ghostscript (#547, #632), HTSeq (#554, #632), Jansson (#545), libjpeg-turbo (#574), Molden (#566), netloc (#545), o2scl (#633), packmol (#566), PP (#405), qtop (#500), TAMkin (#566), vsc-base (#621), vsc-mympirun (#621)
- added easyconfigs for new toolchains (#545, #609, #629):
- gcccuda/2.6.10, gompic/2.6.10, goolfc/2.6.10, ictce/6.0.5, ictce/6.1.5
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- various enhancements, including:
- various bug fixes, including:
- provide alternative download URL for Mesa (#532)
- add Python versionsuffix in OpenBabel filenames (#566)
- apply no-gets patch in all M4 v1.4.16 easyconfigs (#623)
- fix patching of Python w.r.t.
libffi/_ctypesissues (#625, #642) - bug fixes in GROMACS easyconfigs (#606)
- change versionsuffix for non-MPI GROMACS easyconfigs to
-mt - stop using ‘CMakeMake’ easyblock for GROMACS now that there’s a dedicated GROMACS easyblock, which correctly specifies building against external BLAS/LAPACK libraries
- change versionsuffix for non-MPI GROMACS easyconfigs to
- fix Qt dependency for CGAL (#642)
- fix libctl, libmatheval, Meep, PSI build issues caused by full paths in
guile-config/python-configshebang (#642) - make sure HDF easyconfigs specify dedicated
include/hdfinclude dir (#642)- this is required to avoid build issues with NCL, because HDF ships it’s own
netcdf.h - this also triggered removal of patch files for NCL that rewrote
include/hdftoinclude
- this is required to avoid build issues with NCL, because HDF ships it’s own
- fix WPS v3.5.1 patch file after upstream source tarball was changed, supply checksum for verification (#642)
v1.9.0 (November 17th 2013)¶
feature + bugfix release
framework
- add support for Tcl environment modules (
modulecmd.tcl) (#728, #729, #739)- special care was taken to make sure also the DEISA variant of
modulecmd.tclcan be used
- special care was taken to make sure also the DEISA variant of
- code refactoring to prepare for supporting two formats for easyconfig files (#693, #750)
- this prepares the codebase for supporting easyconfig format v2.0
- some initial work on adding support for the new easyconfig format is included, but it’s by no means complete yet
- the current easyconfig format (now dubbed v1.0) is still the default and only supported format, for now
- for more details, see https://github.com/hpcugent/easybuild/wiki/Easyconfig-format-two
- various other enhancements, including:
- include a full version of vsc-base (see the
vscsubdirectory) (#740)- this is a first step towards switching to using vsc-base as a proper dependency
- implement get_avail_core_count function in systemtools module that takes cpusets and co into account (#700)
- the
get_core_countfunction is now deprecated
- the
- add
impmkltoolchain definition (#736) - make regtest more robust: put holds on jobs without dependencies, release holds once all jobs are submitted (#751)
- add support for specifying multiple alternatives for sanity check paths (#753)
- add
get_software_libdirfunction to modules.py (along with unit tests) (#758) - add support for more file extensions and constants w.r.t. sources (#738, #760, #761)
- add MPICH2 support in
mpi_cmd_forfunction (#761)
- include a full version of vsc-base (see the
- various bug fixes, including:
- fix checking of OS dependencies on Debian/Ubuntu that have
rpmcommand available (#732) - make unit tests more robust w.r.t. non-writeable
/tmpand loaded modules prior to starting unit tests (#752, #756) - also call
EasyBlock‘s sanity check inExtensionEasyblockif paths/commands are specified in easyconfig (#757) - set compiler family for dummy compiler, add definition of toolchain constant for dummy (#759)
- fix checking of OS dependencies on Debian/Ubuntu that have
- other
easyblocks
- added support for 8 new software packages that require customized support:
- various enhancements, including:
- add support building ScaLAPACK on top of MPICH2, required for gmpolf toolchain (#274)
- add support to ConfigureMake easyblock to customize configure
--prefixoption (#287) - add support for specifying install command in Binary easyblock (#288)
- enhance CMakeMake easyblock to specify srcdir via easyconfig parameter, and to perform out-of-source builds (#303)
- various bug fixes:
- use correct configure flag for Szip in HDF5 easyblocks, should be
--with-szlib(#286, #301) - add support for serial HDF5 builds (#290, #301)
- enhance robustness of Qt easyblock w.r.t. interactive configure (#295, #302)
- enhance support for picking up license specification via environment variables (#298, #307)
- extend list of values for
$CPATHin libint2 easyblock (#300) - fix
extra_optionssupercall in Clang easyblock (#306) - add support in Boost easyblock to specify toolset in easyconfig file (#308)
- use correct configure flag for Szip in HDF5 easyblocks, should be
- other:
- add build status badges for master/develop branches to README (#289)
easyconfigs
- added example easyconfig files for 58 new software packages:
- Allinea (#468), ARB + dependencies (#396, #493, #495), arpack-ng (#451, #481), CDO (#484, #521), Cube (#505), ed (#503), FLTK (#503), GenomeAnalysisTK (#467), GIMPS (#527), GTI (#511), IPython (#485, #519), LWM2 (#510), MPICH2 (#460), MUST (#511), ncdf (#496, #522), OPARI2 (#505), OpenBabel (#504, #524), OTF (#505), OTF2 (#505), PandaSEQ (#475), ParaView (#498, #514), ParFlow (#483, #520), PCC (#486, #528), PDT (#505), picard (#467), PnMPI (#511), PyQuante (#499, #523), pysqlite (#519), Scalasca (#505), Score-P (#505), SDCC (#486, #528), Silo (#483, #520), Stride (#503), SURF (#503), TCC (#486, #528)
- ARB dependencies (23): fixesproto, imake, inputproto, kbproto, libICE, libSM, libX11, libXau, libXaw, libXext, libXfixes, libXi, libXmu, libXp, libXpm, libXt, lynx, motif, printproto, Sablotron, xbitmaps, xextproto, xtrans
- added easyconfigs for new gmpich2/1.4.8, gmpolf/1.4.8 and goolf/1.6.10 toolchains (#460, #525, #530)
- added additional easyconfigs for various software packages (list too long to include here)
- version updates, different toolchains, ...
- various bug fixes, including:
- other
- add build status badges for master/develop branches to README (#490)
v1.8.2 (October 18th 2013)¶
bugfix release
framework
- fix regular expression used for obtaining list of modules from
module avail(#724)- modules marked as default were being hidden from EasyBuild, causing problems when they are used as dependency
easyblocks
- fix installing of EasyBuild with a loaded EasyBuild module (#280)
- this is important to make upgrading to the latest EasyBuild version possible with a bootstrapped EasyBuild
easyconfigs
- port thread pool patch to PSI 4.0b4 and include it to avoid hanging tests (#471)
v1.8.1 (October 14th 2013)¶
bugfix release
- various bug fixes, including:
- fix bugs in regtest procedure (#713)
- force 2nd and 3rd attempt of build in case 1st attempt failed
- fix copying of install log to install directory (#716)
- only create first source path if multiple paths are specified (#718)
- detect failed PBS job submission by checking obtained job ID for
Nonevalue (#713, #717, #719, #720)
- fix bugs in regtest procedure (#713)
easyblocks
- various bug fixes:
easyconfigs
- added additional easyconfigs for various software packages (#457):
- Boost, bzip2, libreadline, ncurses, PSI, Python, zlib
- various bug fixes, including:
v1.8.0 (October 4th 2013)¶
feature + bugfix release
framework
- add support for using alternative module naming schemes (#679, #696, #705, #706, #707)
- see https://github.com/hpcugent/easybuild/wiki/Using-a-custom-module-naming-scheme for documentation
- module naming scheme classes that derive from the ‘abstract’
ModuleNamingSchemeclass can be provided to EasyBuild- the Python module providing the class must be available in the
easybuild.tools.module_naming_schemenamespace - a function named
det_full_module_namemust be implemented, that determines the module name in the form of an string based on the supplied dictionary(-like) argument
- the Python module providing the class must be available in the
- the active module naming scheme is determined by EasyBuild configuration option
--module-naming-scheme - for now, only the
name/version/versionsuffix/toolchaineasyconfig parameters are guaranteed to be provided- consistently providing all easyconfig parameters (i.e., also for dependencies) requires more work (see #687)
- implementing this involved a number of intrusive changes:
- the API of the modules.py module needed to be changed, breaking backward compatibility
- the function for which the signatures were modified are considered to be internal to the framework, so this should have very minor impact w.r.t. easyblocks not included with EasyBuild
- affected functions include:
available,exists,show,modulefile_path,dependencies_for
- the format for specifying dependencies was extended, to allow for specifying a custom toolchain
- this allows to fix inaccurate dependency specifications,
for example:
('OpenMPI', '1.6.4-GCC-4.7.2')" to "('OpenMPI', '1.6.4', '', ('GCC', '4.7.2')) - see also easyconfigs#431
- this allows to fix inaccurate dependency specifications,
for example:
- the recommended version for Lmod was bumped to v5.1.5
- using earlier 5.x version still works, but may be very slow when ‘available’ is used, due to bugs and a missing feature in Lmod versions prior to v5.1.5 on which we rely
- the API of the modules.py module needed to be changed, breaking backward compatibility
- various other enhancements, including:
- various bug fixes, including:
- avoid importing toolchain modules over and over again to make toolchain constants available in toolchain module (#679 <https://github.com/hpcugent/easybuild-framework/pull/679>)
- only change the group id if current gid is different from what we want in
adjust_permissionsfunction (#685 <https://github.com/hpcugent/easybuild-framework/pull/685>) - restore original environment after running ‘module purge’ (#698 <https://github.com/hpcugent/easybuild-framework/pull/698>)
- important sidenote: this results in resetting the entire environment, and has impact on the sanity check step;
- any environment variables that are set before the EasyBlock.sanity_check_step method fires, are no longer there when the sanity check commands are run (cfr. easyblocks#268)
easyblocks
- added one new generic easyblock:
BinariesTarball(#255) - added support for 5 new software packages that require customized support:
- various enhancements, including:
- various bug fixes:
- add zlib lib dir in link path dirs for WPS (#249)
- stop using deprecated
add_modulefunction in imkl easyblock (#250) - fixed PSI easyblock w.r.t. support for building plugins (#254, #269)
- move OS check for Clang to
check_readiness_step, to allow a build job to be submitted from SL5 (#263, #264) - enable verbose build for DOLFIN, to allow for proper debugging if the build fails (#265)
- make sure
$LDFLAGSand$INSTANT_*_DIRenv vars are set for DOLFIN sanity check commands (#268)- this is required after resetting the environment after running module purge (see framework release notes)
- don’t try to load module in LAPACK test-only build (#264, #266)
easyconfigs
- added example easyconfig files for 9 new software packages:
- added additional easyconfigs for goalf, gompi, ClangGCC, cgmvapich2, cgmvolf toolchains (#350, #441)
- added additional easyconfigs for various software packages:
- ATLAS, Bison, bzip2, Clang, CMake, cURL, EasyBuild, expat, FFTW, GDB, gettext, git, HPL, LAPACK, libreadline, M4, METIS, MVAPICH2, Mercurial, ncurses, OpenBLAS, OpenMPI, ParMETIS, Python, ScaLAPACK, SCOTCH, Valgrind, zlib
- various ‘bug’ fixes, including:
- fix source URL for lockfile in Python easyconfigs (#428)
- correct dependency specifications w.r.t. versionsuffix and toolchain (#431)
- this is required to support building the affected easyconfigs with a custom module naming scheme
- correct PSI patch file to avoid errors w.r.t. memcpy not being in scope (#446)
- fix gettext build with adding
--without-emacsconfigure options, add gettext as dependency for a2ps (#448) - exclude EMACS support in a2ps because of build failures (#452)
v1.7.0 (September 2nd 2013)¶
feature + bugfix release
framework
- various enhancements, including:
- also search for patch files in directory where easyconfig file is located (#667)
- reduce false positives in reporting of possible errors messages (#669)
- make module update
$ACLOCALif a share/aclocal subdir is found (#670) - add
unwanted_env_varseasyconfig parameter to list environment variables to unset during install procedure (#673) - add support for updating list easyconfig values (next to string values) (#676)
- add
--dry-runcommand line option which prints installation overview for specified easyconfig files (#677)
- various bug fixes, including:
* ensure that all extensions are listed in
$EBEXTSLISTXset by module, also when using--skip(#671) * report reason for failed sanity check for extensions (#672, #678) * fix--list-toolchainscommand line option (#675)
easyblocks
- added support for 3 new software packages that require customized support:
- various enhancements, including:
- allow building OpenFOAM without 3rd party tools (#230)
- also add sitelib path to
$PERL5LIB, refactor code to add genericget_site_suffixfunction (#232, #233) - support building imkl FFT wrappers using MVAPICH2 MPI library (#234)
- remove libnpp from CUDA sanity check to support installing CUDA v5.5 (#238)
- pick up
$INTEL_LICENSE_FILEfor Intel tools, if it is set (#243) * note: gets preference overlicense_fileeasyconfig parameter
- various bug fixes:
- call WRF build script with ‘
tcsh <script>to ensure that tcsh available in$PATHis used (#231) - make sure some environment variables that may disrupt the GCC install procedure are unset (#237)
* e.g.,
$CPATH,$C_INCLUDE_PATH,$CPLUS_INCLUDE_PATH,$OBJC_INCLUDE_PATH,$LIBRARY_PATH - code cleanup in GEANT4 easyblock: use
self.version(instead ofself.get_installversion()) (#242) - enhance list of
noqandapatterns for CUDA, to get less failing installations (#244)
- call WRF build script with ‘
easyconfigs
- added example easyconfig files for 15 new software packages:
- added additional easyconfigs for various software packages:
- BLAST, BamTools, BioPerl, Bison, Boost, bzip2, CMake, Cython, CUDA, FFTW, FIAT, GCC, GMP, gettext, git, h5py, HDF5, libffi, libreadline, libxc, matplotlib, METIS, ncurses, Oases, Python, RAxML, ScientificPython, Szip, tcsh, imkl, MVAPICH2, TotalView, VTune, WRF, zlib
- added toolchain easyconfig files for HPCBIOS policies (#402, #407)
- HPCBIOS_BioInfo, HPCBIOS_Debuggers, HPCBIOS_LifeSciences, HPCBIOS_Math, HPCBIOS_Profilers
- various enhancements, including:
- added more XML Perl modules to non-bare Perl easyconfigs (#375)
- various ‘bug’ fixes, including:
- fix website/description in scipy easyconfigs (#399)
- specify OpenMPI libibverbs-dev(el) OS dependency in an OS-dependent way (#403)
- add patch file for M4 to fix building on systems with recent glibc (>=2.16) (#406)
- align moduleclass in R easyconfigs (#411)
- fixed filename of Biopython/CD-HIT easyconfig files (#407)
- disable parallel building of otcl (#419)
v1.6.0 (July 11th 2013)¶
feature + bugfix release
framework
- added support for using Lmod as module tool (#645)
- various other enhancements, including:
- various bug fixes, including:
easyblocks
- added support for 2 new software packages that require customized support:
- various enhancements, including:
- various bug fixes:
- make sure EasyBuild configuration is initialized when running unit tests (#220)
- make Boost easyblock pick up configopts easyconfig parameter (#221)
- add
-DMPICH_IGNORE_CXX_SEEKcompiler flag for Mothur when MPI support is enabled (#222) - fix Boost sanity check, only check for
libboost_python.soif Python module is loaded (#223) - enhance Trinity support w.r.t. jellyfish (#225, #227)
- fix checking for
beagle-libdep (deprecate checking for BEAGLE) for MrBayes (#228)
easyconfigs
- added example easyconfig files for 26 new software packages:
- ALLPATHS-LG (#359), AutoMake (#347), BamTools (#319, #338), BLAT (#340), Biopython (#356), cairo (#361), CCfits (#327), CD-HIT (#344), CFITSIO (#327), Diffutils (#347), FASTA (#358, #361), findutils (#347), fontconfig (#361), gawk (#347), gettext (#361), GLIMMER (#357, #361), libidn (#361), LibTIFF (#347), libungif (#347), make (#355), MUSCLE (#339), Oases (#354), pixman (#361), PLINK (#352), RCS (#347), SQLite (#347)
- added additional easyconfigs for various software packages:
- ant, Bash, Bison, bzip2, cURL, expat, GCC, EasyBuild, freetype, FFTW, GDB, git, HMMER, JUnit, libreadline, libpng, libtool, libxml2, libxslt, M4, makedepend, Mothur, MVAPICH2, Mercurial, ncurses, OpenBLAS, Python, ScaLAPACK, Tcl, tcsh, TopHat, Trinity, Valgrind, Velvet, VTune, zlib (see #169, #297, #298, #301, #309, #323, #331, #332, #341, #347, #349, #351, #355, #361)
- various enhancements, including:
- added easyconfigs for
ictce/5.4.0,ictce/5.5.0andgmvolf/1.7.12toolchain modules (#297, #332, #349) - added a template sanity_check_paths as ‘MUST’ in TEMPLATE.eb (#329)
- introduced biodeps ‘toolchain’ to ease keeping common dependencies for bio* software in sync (#309)
- added collection of easyconfigs for ictce/5.3.0 (#309, #323)
- bam2fastq, bbFTP, BLAST, Boost, DL_POLY Classic, EMBOSS, FFTW, libharu, libxml2, libxslt, libyaml, lxml, Mercurial, Mothur, mpi4py, ncurses, ns, orthomcl, otcl, PAML, Perl, PyYAML, pandas, problog, scikit-learn, TiCCutils, TiMBL, TinySVM, TopHat, tclcl, YamCha
- added missing dependencies for various software packages (#323, #328, #348, #361)
- style fixes in various easyconfigs (#309, #323, #345, #349, #355, #361)
- added easyconfigs for
- various ‘bug’ fixes, including:
- added
pictoolchain option for Perl goolf easyconfig (#299) - fixed source URLs for R (use correct template
%(version_major)s) (#302) - synced libreadline easyconfigs w.r.t. ncurses dependency (#303)
- make sure EasyBuild configuration is initialized when running unit tests (#334)
- specify
lowopt(-O1) optimization level for OpenIFS, to avoid floating-point related issues (#328) - fix naming of ‘beagle-lib’ (used to be ‘BEAGLE’), to avoid name clashes with other software package(s) (#346)
- added
v1.5.0 (June 1st 2013)¶
feature + bugfix release
framework
- various enhancements, including:
- define
SHLIB_EXTconstant for shared library extension (.so,.dylib), deprecateshared_lib_extglobal var (#630) - enhance support for sanity checking extensions (#632, #649)
- add support for
modextrapathseasyconfig parameter (#634, #637) - allow
source_urlsto be templated for extensions (#639, #646, #647) - set
OMPI_*environment variables for OpenMPI (#640) - make BLACS optional as toolchain element, depending on ScaLAPACK version (#638)
- define
- various bug fixes, including:
easyblocks
- added one new generic easyblock:
MakeCp(#208) - added support for 5 new software packages that require customized support:
- various enhancements, including:
- various bug fixes:
easyconfigs
- added example easyconfig files for 23 new software packages:
- bam2fastq (#287), CBLAS (#263), EMBOSS (#265, #290), FCM (#272), FRC_align (#273), freeglut (#271), FreeSurfer (#271), FSL (#271), GATK (#287), libharu (#290), libxslt (#235), MariaDB (#292), Mothur (#265) mpi4py (#276), OpenIFS (#272), orthomcl (#265), PAML (#287), pandas (#262), phonopy (#235), problog (#277), PSI (#258), PyYAML (#235), RAxML (#277)
- added additional example easyconfig files for:
- ABINIT (#235), ACML (#267), BLAST (#275), Boost (#273), BWA (#270), bzip2 (#263), Chapel (#240), CMake (#290), FFTW2 (#247, #267), flex (#267), freetype (#235), grib_api (#272), gzip (#265), Java (#279), libpng (#240, #279), libreadline (#267), libxml2 (#235), libxml (#235), matplotlib (#235), MCL (#265), MUMmer (#265), ncurses (#267), numpy (#267), OpenFOAM (#267), Perl (#265), Python (#276, #263), R (#240, #279), SCOTCH (#267), ScaLAPACK (#267), TopHat (#289), Valgrind (#255), zlib (#267)
- various enhancements, including:
- various ‘bug’ fixes, including:
- get rid of hardcoded license_file paths for VTune, Inspector (#253)
- assign proper moduleclass where they were missing (#278)
- fix naming for LZO (#280)
- make unit tests clean up after themselves more thoroughly (#283, #284, #285, #286)
- fix TopHat dependencies (#289)
- fix source URLs for XML (#279)
- fix versions for all listed R extensions (#279)
- fix CUDA easyconfig file for use on Debian Squeeze (#291)
- correct easyconfig filename and module name mismatches (bbcp, DL_POLY Classic, ...) (#295)
v1.4.0 (May 2nd 2013)¶
feature + bugfix release
framework
- the unit tests for easybuild-framework were moved to test/framework, to make things consistent with easybuild-easyblocks and easybuild-easyconfigs (#611, #613, #624)
- running the framework unit tests should now be using
python -m test.framework.suite
- running the framework unit tests should now be using
- various other enhancements, including:
- various bug fixes, including:
- fixed default value for
--stop(#601) - remove useless
sleep()calls inrun_cmd,run_cmd_qa(#599) - determine module path based on class name, not software name (#606)
- remove unwanted characters in build dirs (#591, #607)
- ignore some error codes spit out by modulecmd that are actually warnings (#609)
- fix
agithub.pyw.r.t. changes in GitHub API (user-agent string is now obligatory for non-authenticated connections) (#617) - fix typo breaking the
adjust_cmddecorator on SuSE (#615) - fix prepending paths with absolute paths in module file (#621)
- clean up open file handles properly (#620, #624)
- fix
--searchhelp and implementation (#622)
- fixed default value for
easyblocks
- added a unit test suite for easyblocks (#175, #177, #178)
- every easyblock is parsed and instantiated as a sanity check
- added one new generic easyblock:
PerlModule(#183) - added support for 8 new software packages that require customized support:
- the
CMakeMake.configure_stepparameterbuilddirwas renamed tosrcdir, because the namebuilddiris incorrect (#151)builddirwill remain supported for legacy purposes up until v2.0
- various enhancements, including:
- reverted back to hardcoding Python library path, since it’s hardcoded by setuptools too (#184)
- added MPICH support in ScaLAPACK easyblock (#172)
- enhanced NCL easyblock: add support UDUNITS and ESMF dependencies (#171)
- enhanced MATLAB easyblock: avoid hardcoding Java options, make sure
$DISPLAYis unset, extend list of sanity check paths (#181) - enhanced TotalView easyblock: add support for license file (#146)
easyconfigs
- added a unit test suite for easyconfigs (#228, #230)
- added example easyconfig files for 20 new software packages: * ABAQUS (#231), BioPerl (#242), Bowtie (#227), Clang (#177), CRF++ (#131), DL_POLY Classic (#132), ESMF, GROMACS (#165), HH-suite (#219), Inspector (#232), likwid (#131), Perl (#242), scikit (#133), TiCCutils (#131), TiMBL (#131), TinySVM (#131), UDUNITS (#167), VTune (#232), YamCha (#131)
- add example easyconfigs for new compiler toolchains (use
eb --list-toolchainsfor a full list of supported toolchains):- the newly added toolchains only differ in compilers/MPI library, and all feature OpenBLAS, LAPACK, ScaLAPACK and FFTW
- goolfc: GCC, CUDA (co-compiler), OpenMPI (#191)
- a goolfc easyconfig for GROMACS is inluded as proof-of-concept (#165)
- cgmpolf: Clang (C/C++ compilers), GCC (Fortran compilers), MPICH (#213)
- cgmvolf: Clang, GCC, MVAPICH2 (#218)
- cgoolf: Clang, GCC, OpenMPI (#213)
- gmvolf: GCC, MVAPICH (#202, #222)
- ported already available easyconfigs to new compiler toolchains:
- added additional example easyconfig files for:
- various enhancements, including:
- various ‘bug’ fixes, including:
- add
--enable-mpirun-prefix-by-defaultconfigure option for all OpenMPI easyconfigs (#205)
- add
v1.3.0 (April 1st 2013)¶
feature + bugfix release
framework
- added script to bootstrap EasyBuild with EasyBuild, see https://github.com/hpcugent/easybuild/wiki/Bootstrapping-EasyBuild (#531)
- reorganize framework/easyconfig.py module into framework/easyconfig package with modules (#574, #580)
- support EasyBuild configuration via command line, environment variables and configuration files (#529, #552, #556, #558, #559)
- various other enhancements, including:
- extended set of unit tests for eb command line options and EasyBuild configuration (#517, #556, #559, #571)
- made
--searchalso useful when easybuild-easyconfigs package is not installed (#524) - extended set of default module classes (#525)
- add support for license easyconfig parameter (which will be mandatory in v2.x) (#526, #569)
- added
setup.cfgforsetup.pyto allow creating RPMs (#528) - added support for obtaining system information, see
get_os_*functions ineasybuild/tools/systemtools.py(#543, #546, #547) - added support for iterated builds that require cycling over multiple sets of configure/build/install options, e.g. FFTW (#549)
- added support for OpenBLAS as toolchain lib for linear algebra (#537, #565)
- added support for tweaking prefix and separator for library toolchain variables (
LIB*) (#572, #576) - skip already built modules in regression testing mode, to ease regression testing (#582)
- various bug fixes, including:
* added
zip_safeflag tosetup.py, to silence multitude of warnings (#521) * only defineLIBFFTfor Intel MKL if FFTW interface libraries are available (#518, #567, #579) * set POSIX group early in build process, make EasyBuild aware of consistent chmod/chown failures (#527) * properly order the name/version keys for the toolchain easyconfig parameter when using--try-toolchain(#563) * take theskipstepseasyconfig parameter into account in regression testing mode as well (#583)
easyblocks
- added support for 2 new software packages that require customized support:
- remove
licenseeasyconfig parameter fromIntelBase, since it clashes with genericlicenseparameter (#153, #158)license_fileshould be used instead (see framework#569)- using
licenseinstead oflicense_filewill be supported until v2.x for legacy purposes
- various enhancements, including:
- stop hardcoding Python site-packages library dir, obtain it via
distutils.sysconfiginstead (#141, #156, #159, #161) - stop hardcoding list of libraries for BLAS libs, ask toolchain modules or use
$LIBBLASinstead (#150, #155) - enhanced CP2K easyblock, following Intel guidelines for
ictcebuilds (#138) - added
setup.cfgforsetup.pyto allow creating RPMs (#140) - clean up specifying BLAS/LAPACK libs for building numpy, check whether requires patch is being used for IMKL builds (#155, #161)
- stop hardcoding Python site-packages library dir, obtain it via
- various bug fixes, including:
- added
zip_safeflag tosetup.py, to silence multitude of warnings (#135) - install EasyBuild packages in reversed order to avoid funky setuptools issues (#139)
- fixed a typo in the ScaLAPACK easyblock, and set CCFLAGS and FCFLAGS for v2.x (#149, #162)
- fix sanity check for python-meep (#159)
- exclude Python tests from DOLFIN sanity check, since they hang sometimes (#161)
- add support in ALADIN easyblock for answering question on location of
libgrib_api.a(#165)
- added
easyconfigs
- added example easyconfig files for 13 new software packages:
- Bash, CUDA, ccache, Ferret, gzip, libxc, ns, numactl, OpenBLAS, otcl, Tar, tclcl, tcsh
- several of these easyconfig files were contributed by attendees of the EasyBuild hackathon in Cyprus!
- added example easyconfigs for goolf toolchain (#158)
- added example easyconfigs for builds with goolf toolchain, i.e. for all goalf easyconfigs (#189)
- for several software packages, a patch file was needed to get them to build with GCC 4.7:
- AMOS, BEAGLE, Cufflinks, DOLFIN, GATE, ns, Pasha, Trilinos, Trinity
- for PETSc, a patch file was required to make it build with a toolchain that doesn’t include BLACS
- for several software packages, a patch file was needed to get them to build with GCC 4.7:
- added additional example easyconfig files for:
- gompi, hwloc, LAPACK, MVAPICH2, OpenMPI, ScaLAPACK
- various enhancements, including:
- define a proper module class in all easyconfigs, cfr. default module classes defined in framework (#150, #159, #161, #162, #179, #181)
- extend FFTW easyconfig to ‘fat’ builds that include single, double, long double and quad precision libraries in the same module
- quad precision is disabled for Intel compiler based builds (it requires GCC v4.6+)
- the imkl easyconfigs used for the ictce 3.2.2.u3 toolchain now also enable FFTW interfaces
- various ‘bug’ fixes, including:
- fix filename for Mercurial and ROOT easyconfig files
- fix homepage/description for Hypre
- fix enabling OpenMP support in OpenMPI: use
--enable-openmp, not--with-openmp - use correct configure flag for enabling OpenMPI threading support in v1.6 (#186)
--enable-mpi-thread-multipleinstead of--enable-mpi-threads
- explicitely add
--without-openib --without-udaplconfigure options in OpenMPI easyconfig using versionsuffix-no-OFED(#168)- this avoids that OpenMPI auto-detects that it can enable Infiniband (OpenIB) support, which doesn’t fit the -no-OFED versionsuffix
- Note: this makes goalf-1.1.0-no-OFED effectively not suitable to produce software builds that are IB-capable!
- remove explicit
--with-udaplfrom OpenMPI easyconfigs, does more harm than good (#178) - remove libibvers, libibmad, libibumad as explicit dependencies for OpenMPI/MVAPICH2 (#173, #182)
- leave it up to the OS to provide these, since the required version is too much tied to the version of IB drivers
- use
license_filein Intel tools easyconfigs, as opposed to the new genericlicenseparameter with a different meaning (#180) - modify patch for impi to avoid installation problems due to hardcoded path in /tmp (#185)
- now uses
$USER-$RANDOMsubdir to avoid clashes between different users on the same system
- now uses
- the patch file for numpy was extended to also supporting ATLAS and other BLAS libraries spread across multiple directories
- the extension for ATLAS is required because we now no longer rely on the automatic numpy mechanism to find the ATLAS libs
- fixed dependencies:
- libibumad as dependency for libibmad
- ncurses as dependency for libreadline
- ncurses and zlib as dependency for SAMtools (+ enhanced patch)
- remove explicit FFTW dependency for Meep, ... since toolchain already provided FFTW
v1.2.0 (February 28th 2013)¶
feature + bugfix release
framework
- new backend module for option parsing: generaloption
- support for using constants and string templates in easyconfig files
- currently disabled for
exts_filterandexts_listeasyconfig parameters, for backward compatibility
- currently disabled for
- various other enhancements, including:
- support for iqacml and iiqmpi toolchains (Intel compilers + QLogic MPI based)
- clearer errors messages when sanity check failed
- unit tests for (about half of) the
ebcommand line options - support for specifying build/install steps to skip in easyconfig file (
skipsteps) - support for allowing certain dependencies to be resolved by the system instead of modules (
allow_system_deps) - cache ppn value required by regtest, clean up temporary files let behind by
--regtest/--job - make sure MPD is used as process manager for Intel MPI (required for impi v4.1 and later)
- rename template names
nameandversionused in exts_filter toext_name,ext_versionnameandversionare still supported for legacy reasons
- cleaned up module docstrings w.r.t. list of authors
- various bug fixes, including:
- print correct (lowercase) toolchain names with
--list-toolchains - correct easyconfig parameter name
license_server_port - fix string quoting in develop modules
- ensure
modulecmdis run with original$LD_LIBRARY_PATHvalue- to avoid breaking
modulecmd, see https://bugzilla.redhat.com/show_bug.cgi?id=719785
- to avoid breaking
- remove use of hardcoded files/dirs in unit tests
- fix various inconsistencies w.r.t. paths considered with
--robot - various cleanup and fixes w.r.t. logging
- use correct logger instance in main script
- stop passing logger instances around
- make module logging variables private
- get rid of
ModuleGeneratordeconstructor, clean up viaEasyBlock.clean_up_fake_module - fix disabling of
optarchtoolchain option (and extend unit tests to check on this)
- print correct (lowercase) toolchain names with
easyblocks
- added one new generic easyblock:
Rpm - added support for 6 new software packages that require customized support:
- EasyBuild, EPD (Enthought Python Distribution), freetype, MATLAB, QLogic MPI (RPM), TotalView
- support for installing EasyBuild with EasyBuild enables bootstrapping an EasyBuild installation!
- various enhancements, including:
- corrections in WRF/WPS to also enable building with iqacml toolchain
- use
mpi_cmd_forinstead of hardcoding test commands, using correct Fortran compilers (F90)
- use
- fix NCL easyblock to also support v6.1.x
- use correct Fortran compiler (F90), set correct lib/include paths for dependencies (netCDF-Fortran, GDAL)
- cleanup sweep of license headers and authors list in easyblock module docstrings
- use new
ext_nametemplate name inexts_filterin Python and R easyblocks
- corrections in WRF/WPS to also enable building with iqacml toolchain
- various bug fixes, including:
- general code cleanup
- don’t set
sanityCheckOKinToolchaineasyblock - get rid of using
os.putenv
- don’t set
- NEURON easyblock: don’t hardcode number of processes used in test cases
- make sure
easybuild.easyblocks.genericnamespace is extendable
- general code cleanup
easyconfigs
- added example easyconfig files for 41 new software packages:
- a2ps, AnalyzeFMRI, aria, bbcp, bbFTP, bbftpPRO, binutils, Bonnie++, ccache, cflow, cgdb, Corkscrew, EasyBuild, Elinks, EPD, FLUENT, fmri, GDB, GDAL, gnuplot, gnutls, gperf, Iperf, lftp, libyaml, lzo, MATLAB, mc, nano, NASM, nettle, numexpr, parallel, pyTables, QLogic MPI, Stow, TotalView, Valgrind, VTK, Yasm, zsync
- added example easyconfigs for iqacml and iiqmpi toolchains
- added additional example easyconfig files for:
- ABINIT, ABySS, ACML, BFAST, Bison, BLACS, Cython, cURL, Doxygen, FFTW, flex, g2clib, g2lib, GHC, h5py, HDF, HDF5, HMMER, JasPer, icc, ictce, ifort, imkl, impi, libpng, libreadline, M4, matplotlib, MCL, MEME, mpiBLAST, NCL, ncurses, netCDF, netCDF-Fortran, NWChem, R, ScaLAPACK, Tcl, Tk, WPS, WRF, zlib
- various enhancements, including:
- fix version of xtable R library in list of extensions for R, to avoid installation failures
- various ‘bug’ fixes, including:
- fix toolchain and file names for ABINIT easyconfigs
- fix sanity check paths for cURL
- don’t disable
optarchfor WRF, it’s not needed (only disable heavy optimizations is required) - fix homepage/description for ALADIN
v1.1.0 (January 27th 2013)¶
feature + bugfix release
framework
- improvements w.r.t. support for software extensions (tested on Python and R, see easyblocks package)
- cleaned up support for building/installing extensions
- define
ExtensionEasyblockclass that implements support for installing extensions as stand-alone module as well - return to build dir before building/installing each extension
- define
EBEXTSLIST<NAME>environment variable in module ifexts_listwas defined - make sure sanity check for extensions results in an error if it fails
- various enhancements, including:
- log both framework and easyblocks versions
- add support for
gimkl,gmacml,iccifort,iomklandismkltoolchains - define
*_SEQ compilervariables for sequential compilers - add
--list-toolchainscommand line option for listing supported toolchains - add support for customizing software and modules install path suffixes
- support both setuptools and distutils installation methods for finding installed easyconfigs
- also consider robot path in list of paths searched for patch files
- allow skipping of default extension sanity check (by setting
modulenameto False in options)
- various bug fixes, including:
- typos in toolchain Python modules w.r.t.
imklsupport, handling ofi8/optarch/unrolloptions - purge before loading ‘fake’ module, unload ‘fake’ module before removing it, use original
$MODULEPATH - restore environment after unloading fake module, set variables that were incorrectly unset, i.e., that were defined before as well
- unset
$TMPDIRfor builds submitted as jobs (required byIntelBaseeasyblock) - correctly track easyconfig parse error
- always run all jobs in regtest, also if dependency jobs failed
- cosmetic adjustments to default EasyBuild configuration file to avoid confusion between e.g.
build_dirandbuild_path(only latter matters) - fix SuSe hack, only prefix command with sourcing of
/etc/profile.d/modules.shif it is there - leave build directory before it is removed during cleanup step
- load generated module file before running test cases
- typos in toolchain Python modules w.r.t.
easyblocks
- added 3 new generic easyblocks:
CMakePythonPackage,JAR,RPackage - added support for 23 new software packages that require customized support:
- ACML, ALADIN, ant, Bioconductor (R packages), Chapel, Cufflinks, ESPResSo, FLUENT, Geant4, GHC, Java, NEURON, NWChem, PyZMQ, QuantumESPRESSO, R, Rmpi, ROOT, Rserve, SCOOP, Trinity, VSC-tools, XML
- various enhancements, including:
- clean up of
python.pyeasyblock:- merge
EB_DefaultPythonPackageandPythonPackageeasyblocks into generic easyblockPythonPackage, which derives fromExtensionEasyblock - move
EB_FortranPythonPackageinto dedicated genericFortranPythonPackageeasyblock module - split off support for building/installing
nose,numpy,scipyinto dedicatedEB_*easyblock modules, which allows them to be built as stand-alone modules as well
- merge
- clean up testing of Python packages (
PythonPackageeasyblock) - make sure there is no
site.cfgin home dir when building Python packages, because e.g.scipywill pick it up - added support for building Intel MKL wrappers with OpenMPI toolchain
- cleaning up of fake module that was loaded for running tests
- move calls to functions that rely on environment up in the chain of steps (mostly for cleanup reasons)
- use better module name for UFC sanity check, minor change to sanity check paths for UFC
- clean up of
- various bug fixes, including:
- only call
make ptcheckfor ATLAS when multi-threading support is enabled - use a symbolic link for $HOME/intel instead of a randomly suffixed subdirectory in home and patching of Intel install scripts
- latter does not work anymore with recent versions of Intel tools (2013.x)
- only call
easyconfigs
- added example easyconfig files for 48 new software packages:
- ABINIT, ABySS, ACML, ALADIN, ant, BFAST, BLAST, Chapel, CLHEP, Cufflinks, ESPRresSo, GATE, GHC, Geant4, Greenlet, google-sparsehash, grib_api, HMMER, Java, JUnit, libibmad, libibumad, libibverbs, MCL, MDP, MEME, mpiBLAST, NCBI Toolkit, NEURON, NWChem, numpy, MDP, Oger, OpenPGM, paycheck, PyZMQ, QuantumESPRESSO, R, ROOT, SCOOP, scipy, Tophat, Trinity, util-linux, VSC-tools, wiki2beamer, XML, ZeroMQ
- added example easyconfigs for gmacml, gmvapich2, iccifort, ictce, iomkl toolchains
- added additional example easyconfig files for:
- ATLAS, BLACS, Boost, Bowtie2, bzip2, CP2K, Doxygen, FFTW, GCC, HDF5, hwloc, icc, ifort, imkl, impi, JasPer, Libint, libreadline, libsmm, libxml, ncurses, netCDF, M4, Meep, MVAPICH2, OpenMPI, Python, ScaLAPACK, Szip, zlib
- various enhancements, including:
- major style cleanup of all example easyconfig file (PEP008 compliance)
- added setuptools to list of Python extensions
- get rid of
parallelversionsuffix for HDF5, as its meaningless (MPI-enabled build is always parallel)
- various ‘bug’ fixes, i.e. added missing dependencies or replaced OS dependencies with proper dependencies
v1.0.2 (December 8th 2012)¶
bugfix release
framework
- properly catch failing sanity check commands
- fix bug in toolchain support which cause linking environment variables set by toolchain to include too many libraries
- elements in toolchain variables were being passed by reference instead of by value
- fix selecting a compiler toolchain for a specified software package (
--software-name) if only a template is a viable option - fix passing command line parameters with
--job - fix list of valid stops (
-s/--stop) - fix minor issues in help messages (
-h/--help)
easyblocks
- fix typos in WIEN2k easyblock (missing commas after list elements)
easyconfigs
- fixed source URL for ligtextutils (toolchain refactoring error)
v1.0.1 (November 24th 2012)¶
bugfix release
framework
- fix support for installing with
distutils(broken import insetup.py) - fix support for ACML as a toolchain element (
toolchains/linalg/acml.py) - add name to aggregated regtest XML so that is parsed correctly by Jenkins
- reorder code in
main.pyso that regtest also works with incomplete easyconfig paths - add bash script for running regression test and sending a trigger to Jenkins to pull in the XML with results
- get rid of assumption that loaded modules should have name like
foo/bar, make it more flexible - retry failed builds in regtest twice to ignore fluke errors
- report leaf nodes in dependency graph when regtest is submitted
- this is required for setting job dependencies in the regtest script for the Jenkins trigger job
- implement and use rmtree2 as more (NFS) robust replacement for
shutil.rmtree - bump max hit count for
run_cmd_qafrom 20 to 50, to make false positives of unasnwered questions less likely
easyblocks
- fix support for installing with
distutils(broken import insetup.py) - only build GMP/CLooG/PPL libraries during GCC build in parallel, don’t install in parallel
make -j N installdoesn’t work consistently for GMP
- fix GCC build on OS X
- location of libraries is slightly different (
libvslib64dir)
- location of libraries is slightly different (
- add support to
ConfigureMakeeasyblock for pre-passing tar options to configure- see
tar_config_optseasyconfig parameter - workaround for issue with pax hanging
configurewith an interactive prompt
- see
- enhance Q&A for WRF and WIEN2k by adding entries to
qadict andno_qalist - use
rmtree2fromtools/filetools.pyas more (NFS) robust replacement forshutil.rmtree
easyconfigs
- remove patch file for OpenMPI to resolve issue with pax hanging configure
tar_config_optsshould be enabled as needed
- disable parallel build for PAPI, seems to be causing problems
v1.0 (November 13th 2012)¶
- split up EasyBuild across three repositories: framework, easyblocks and easyconfigs
- packaged EasyBuild, different parts can now be installed easily using
easy_install
framework
- various changes to both internal and external API:
- renamed main script to main.py (from
build.py) - file and directory organisation
- module, class, function and function argument renaming and reorganisation
- split up
ApplicationintoEasyBlockandConfigureMake(see easybuild-easyblocks for the latter) - created
EasyConfigclass for handling easyconfig files - renaming of EasyBuild configuration parameters (non-camelCase)
- renaming of various easyconfig parameters (non-camelCase)
- rename
SOFTROOTandSOFTVERSIONenvironment variables set in generated module files toEBROOTandEBVERSION - use ‘extension’ as generic terminology for Python packages, R libraries, Perl modules, ...
- renamed main script to main.py (from
- added support for building software packages in parallel via PBS jobs
- added unit testing framework and initial set of unit tests for basic functionality
- and run them in Jenkins continuous integration service, see https://jenkins1.ugent.be/view/EasyBuild/
- implement single-command regression test (e.g. to test building all supported software)
- eb
--regtest–robot
- eb
- switch to new style Python classes
- replaced
toolkitmodule withtoolchainpackage (total rewrite), providing modular support for toolchains - adjust default EasyBuild configuration to only use
$HOME/.local/easybuildby default - added support for running EasyBuild without supplying an easyconfig file
- make EasyBuild search for a matching easyconfig file
- support automatic rewriting of an existing partially-matching easyconfig file (use this with care!)
- support for automatically generating an easyconfig file according to given specifications (best effort!)
- add support for looking for easyconfig file in Python search path if it can’t be found on specified (relative) path (that way, easyconfig files available in the easybuild-easyconfigs package can be used easily)
- various other enhancements and bug fixes, e.g.:
- extended sanity check capabilities
- cleaned up logging
- creating of devel module which allows to mimic environment that was used by EasyBuild to build the software
- support for creating dependency graphs for a set of easyconfig files
- grouped options in help output and categorised available easyconfig parameters
- more consistent code style
easyblocks
- implement class name encoding scheme, see wiki http://github.com/hpcugent/easybuild/wiki/Encode-class-names
- (non-generic) easyblock class names are now prefixed with
EB_and non-alphanumeric characters are escaped
- (non-generic) easyblock class names are now prefixed with
- split off generic easyblocks into separate package
easyblocks.generic - added custom support for 39 software packages:
- Armadillo, BiSearch, Boost, Bowtie2, BWA, bzip2, CGAL, CPLEX, DOLFIN, Eigen, flex, FSL, Hypre, libxml2, MetaVelvet, METIS, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ParMETIS, Pasha, PETSc, Primer3, python-meep, SAMtools, SCOTCH, SHRiMP, SLEPc, SOAPdenovo, SuiteSparse, SWIG, Tornado, Trilinos, UFC, Velvet, WIEN2k, XCrySDen
- various enhancements and bug fixes to existing easyblocks
easyconfigs
- added example easyconfig files for 106 new software packages:
- AMOS, Armadillo, ASE, Autoconf, BiSearch, Boost, Bowtie2, BWA, byacc, bzip2, CGAL, ClustalW2, CMake, CPLEX, cURL, CVXOPT, Cython, Docutils, DOLFIN, ECore, Eigen, expat, FASTX-Toolkit, FFC, FIAT, freetype, FSL, GEOS, git, glproto, GMP, gmvapich2, gompi, GPAW, GSL, guile, h5py, h5utils, Harminv, hwloc, Hypre, Infernal, Instant, Jinja2, libctl, libdrm, libffi, libgtextutils, libmatheval, libpciaccess, libpthread-stubs, libreadline, libtool, libunistring, libxcb, libxml2, makedepend, matplotlib, Meep, Mercurial, Mesa, MetaVelvet, METIS, MPFR, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ORCA, PAPI, ParMETIS, Pasha, PCRE, PETSc, petsc4py, pkg-config, Primer3, python-meep, RNAz, SAMtools, ScientificPython, SCOTCH, setuptools, Shapely, SHRiMP, SLEPc, SOAPdenovo, Sphinx, SuiteSparse, SWIG, Tcl, Theano, Tk, Tornado, Trilinos, UFC, UFL, Velvet, ViennaRNA, Viper, WIEN2k, xcb-proto, XCrySDen, xorg-macros, xproto
- added additional example easyconfig files (versions, builds) for several software packages
- Bison, BLACS, Doxygen, flex, GCC, HDF5, icc, ifort, libpng, M4, MVAPICH2, OpenMPI, Szip, tbb, zlib
- replaced GCC/OpenMPI based easyconfig files with equivalents using the gompi toolchain * ATLAS, BLACS, FFTW, LAPACK, ScaLAPACK
- enhanced Python example easyconfig files (more dependencies required for features, e.g. libreadline, bzip2, zlib, ...)
- corrected file name of easyconfig files to adher to standard as followed by EasyBuild robot dependency resolver
- style cleanup in existing easyconfig files
v0.8 (June 29th 2012)¶
- added support for building/installing 17 additional software packages:
- BEAGLE, Doxygen, g2clib, g2lib, HDF, HDF5, JasPer, libpng, Maple, MrBayes, NCL, netCDF, netCDF-Fortran, Szip, WPS, WRF, zlib
- the build procedure for WRF and WPS includes running the tests available for these packages
- various bug fixes and enhancements:
- made support for interactive installers (
run_cmd_qa) more robust - fixed Python git package check
- implemented toolkit functions for determine compiler family, MPI type, MPI run command, ...
- made support for interactive installers (
v0.7 (June 18th 2012)¶
- fixed BLACS build
- diagnostic tools to determine
INTERFACEandTRANSCOMMvalues are now used
- diagnostic tools to determine
- added support for building Bison, CP2K, flex
- with regression test enabled for CP2K as part of build process
- note: BLACS built with EasyBuild prior to v0.7 needs to be rebuilt for CP2K to work correctly
- added
--enable-mpi-threadsto OpenMPI example easyconfigs- required for correct CP2K psmp build
- adjusted libsmm example easyconfig for lower build time
- to make the full regression test finish in a reasonable amount of time
- added script to make porting of easyblocks from old to new EasyBuild codebase easier
- takes care of refactoring, checks for PyLint warnings/errors, ...
- fixed several small bugs
- prefixed EasyBuild messages with
== - full regression test passed (58 easyconfigs tested)
v0.6 (May 11th 2012)¶
- added support for Intel compiler toolkit (ictce)
- which included the Intel compilers, Intel Math Kernel Library (imkl) and Intel MPI library (impi)
- added support for building Python with nose/numpy/scipy packages
- added simple regression test
- this version is able to build all supplied example easyconfigs
v0.5 (April 6th 2012)¶
- first public release of EasyBuild
- after a thorough cleanup of the EasyBuild framework of the in-house version
- supports building HPL with goalf compiler toolkit
- the goalf toolkit consists of the GCC compilers, and the OpenMPI, ATLAS, LAPACK, FFTW and ScaLAPACK libraries
- also support build and installation of MVAPICH2