EasyBuild release notes¶
The latest version of EasyBuild provides support for building and installing 998 different software packages, using 37 different (compiler) toolchains. It contains 174 software-specific easyblocks and 29 generic easyblocks, alongside 6,548 easyconfig files.
v2.8.2 (July 13th 2016)¶
bugfix release
framework
- various small enhancements, including:
- add support for rst output for
--list-*and--avail-*(#1339) - add support for ‘
eb --check-conflicts‘ (#1747, #1807, #1833) - ensure nice error message when non-existing path is passed to
apply_regex_substitutions(#1788) - add check for module output, empty stdout is a sign of trouble with Lmod (#1793)
- add multi-threaded FFT to toolchain (#1802)
- avoid special characters like ‘[‘, ‘]’ in path to temporary directory (#1808)
- add support for
--zip-logs(#1820) - add support for
--extra-modules(#1821) - add type conversion for ‘checksums’ and ‘patches’ parameter in .yeb easyconfigs (#1826, #1840)
- add support for filtering tests by name (#1828)
- add support for
--avail-toolchain-opts(#1830, #1839) - use absolute path for robot and easyconfig files (#1834)
- add backup URL for tarballs hosted on SourceForge in
install_eb_dep.shscript (#1843)
- add support for rst output for
- various bug fixes, including:
- fix installation of Lua in
install_eb_dep.shscript (#1789) - fix OpenMP flag for Cray compiler wrappers (#1794)
- only reset
$MODULEPATHbefore loading a module if environment was reset (#1795) - include vsc-install as dependency in
setup.py(#1805) - cache
$PATH&$PYTHONPATHin test setUp, restore them in tests where ‘eb‘ is used (#1806) - don’t reset
$MODULEPATHin stage 2 of bootstrap script, support forced installation during stage 2 (#1810) - fix issue with templates defined by deps being required while still parsing deps (#1812)
- skip unneeded unuse/use commands on tail of
$MODULEPATHincheck_module_path(#1813) - fix auto-convert for all
*dependenciesparams in.yebeasyconfigs, ensure version is a string (#1818) - fix
keyringversion in Travis config (#1819) - fix dumping of
.yebeasyconfig files in easyconfigs archive (#1822) - fix format of supported easyconfig templates in help output (#1825)
- stick to
pydot1.1.0 for Python 2.6 in Travis config (#1827)
- fix installation of Lua in
easyblocks
- new easyblocks for 5 software packages that require customized support:
- various enhancements, including:
- add support for building & installing old GROMACS versions (#569, #960)
- add support for building Boost with Cray toolchain (#849)
- libxsmm support for CP2K (#942)
- pick up specified components for imkl (#943)
- add support for building GROMACS with double precision (#946, #960)
- add support for building GROMACS with CUDA support and using dynamic libraries using
Craytoolchains (#951, #960) - also install vsc-install in
EasyBuildMetaeasyblock, if tarball is provided (#957) - enhance PSI easyblock to support PSI4 1.0 (#965)
- various bug fixes, including:
- also install scripts with MRtrix 0.3.14 (#941)
- enhance Qt easyblock to support Qt3 (#944)
- create ‘
release‘ symlink in MRtrix install dir (#947) - fix
make_installdirin Inspector & VTune easyblocks (#952) - make
BinaryandMakeCpeasyblocks aware of ‘keepsymlinks‘ (#959) - correctly define
$G4*environment variables in Geant4 easyblock (#961, #970) - prepend tmp install path to
$PYTHONPATHin numpy test step, move to build dir when removing ‘numpy‘ subdir (#963) - correct full path to ALADIN config file & patch it to use right Fortran compiler flags (#964)
- ensure correct compiler command/flags are used for SAMtools (#966)
easyconfigs
- added example easyconfig files for 54 new software packages:
- Amber (#3200), Bullet (#3175), CONTRAlign (#690), Cluster-Buster (#3191), damageproto (#3222, #3308), DCA++ (#3219), EIGENSOFT (#3147, #3163), Extrae (#507), fdstools (#3237), ffnet (#3273), GP2C (#3257), Gurobi (#3239), gc (#3202, #3261), gputools (#546), IMa2p (#3300), IOzone (#3253), i-cisTarget (#3191, #3194), icmake (#3243), io_lib (#3255), Kent_tools (#3191), libcmaes (#3256), libpsortb (#3259), libxsmm (#3099), MEGACC (#3263), MM-align (#1428), MOSAIK (#880), MView (#1345), MySQL-python (#3172, #3189), magma (#3219), mrFAST (#862), mrsFAST (#862), mysqlclient (#3172, #3232), NTL (#3183), PARI-GP (#3257), Paraver (#508), psutil (#3171, #3231), PSI4 (#3293), Qwt (#3157), RMBlast (#3142), STAMP (#3191), Seqmagick (#3264), splitRef (#946), TAU (#509), TRF (#3141), TVB (#3053, #3247, #3251), TVB-deps (#3053, #3247, #3251), tvb-data (#3053, #3247, #3251), tvb-framework (#3053, #3247, #3251), tvb-library (#3053, #3247, #3251), VampirTrace (#509), Voro++ (#3174), wheel (#3235), wxPropertyGrid (#508), xonsh (#3159)
- added easyconfigs for update of common toolchains:
foss/2016b(#3271),intel/2016b(#3270) - added new easyconfigs for existing toolchains:
CrayGNU/2016.03&CrayGNU/2016.04(#3291),foss/2016.06(#3184),intel/2016.03-GCC-5.4(#3185) - added additional easyconfigs for various supported software packages, including:
- Boost 1.61.0, GCC 5.4.0, GROMACS 3.3.3, HDF5 1.8.17, netCDF 4.4.1, numpy 1.11.0, Perl 5.24.0, PETSc 3.7.2, Python 2.7.12, Python 3.5.2, Qt 3.3.8, R 3.3.1
- various enhancements, including:
- use
check_conflictsfunction in easyconfigs tests (#2981) - also include vsc-install in list of sources for recent EasyBuild easyconfigs, to support offline installation (#3203)
- enable building of
libmysqld.*in MariaDB easyconfigs (#3230) - add ALDEx2, phyloseq to bundles for Bioconductor 3.2 (#3211, #3241)
- add biom, geepack, lubridate, pim to list of R 3.2.3 extensions (#3186, #3211, #3275)
- use
- various bug fixes, including:
- add patch for Boost 1.60.0 to fix bug resulting in
TypeError(#3162) - add fftw dependency to CP2K 2.6.0 easyconfigs using CrayGNU (#3176)
- fix location of
libelf.h, only (also) installed asinclude/libelf.his there’s no/usr/include/libelf.h(#3201) - fix software name for Guile & GnuTLS (was ‘guile’ & ‘gnutls’) (#3207)
- added missing space in Geant4 configopts to specify
-DGEANT4_INSTALL_DATA(#3209) - fix Cython download URL in Python 2.7.11 easyconfigs (#3212)
- add missing build deps for X stack in easyconfigs using
foss/2016aorintel/2016a(#3222, #3308) - fix overruling of exts_list in Perl 5.22.2 easyconfig (#3224)
- add missing dependency on GMP in R 3.2.3 easyconfigs (#3226)
- don’t hard specify toolchain for binutils build dep in likwid easyconfig, since it matches parent toolchain (#3240)
- fix
homepage&source_urlsin HMMER easyconfigs (#3246) - stick to
pydot1.1.0 for Python 2.6 in Travis config (#3282) - add
python-dev(el)to OS deps in GC3Pie easyconfigs (#3310)
- add patch for Boost 1.60.0 to fix bug resulting in
v2.8.1 (May 30th 2016)¶
bugfix release
framework
- various bug fixes, including:
- fix error message on missing module command in bootstrap script (#1772)
- expand ‘
~‘ in paths specified to--include-*(#1774) - break after deleting cache entry to avoid attempt to delete cache entry again (#1776)
- avoid changing
$MODULEPATHwhen prepending with symlink of path already at head of$MODULEPATH(#1777) - filter out duplicates in
find_flexlm_license(#1779) - stick with GitPython < 2.0 with Py2.6 in Travis configuration (#1781)
- don’t use
LooseVersionto defineversion_major/version_minor(#1783)
easyblocks
- various enhancements, including:
easyconfigs
- added example easyconfig files for 13 new software packages:
- added new easyconfigs for existing toolchains:
intel/2016.03-GCC-4.9(#3088) - added additional easyconfigs for various supported software packages, including:
- Boost 1.61.0, ESMF 7.0.0, Inspector 2016 update 3, IPython 4.2, netCDF-C++4 4.3.0, netCDF-Fortran 4.4.4, Perl 5.22.2, VTune 2016 update 3
- various bug fixes, including:
- apply libreadline patch to fix bug triggering segmentation fault (#3086)
v2.8.0 (May 18th 2016)¶
feature + bugfix release
framework
- significant speedup improvements of EasyBuild itself, thanks to:
- add support for using PGI as toolchain compiler (#1342, #1664, #1759, #1761, #1764)
- incl. new toolchain definitions
pompiandpomkl(#1724)
- incl. new toolchain definitions
- add test configuration for Travis (#1733, #1737, #1743, #1767)
- various other enhancements, including:
- add
get_total_memory()function insystemtoolsmodule (#1623) - ignore
__init__.pyfiles in--include-*(#1704) - use
-fopenmprather than-openmpfor Intel compilers, since-openmpis deprecated (#1718) - add modules to metadata for Cray modules (#1721)
- make sure user write permissions are set after failed removal attempt of installation directory (#1722)
- escape special characters in software name in
find_related_easyconfigs(#1726) - add support for
CrayPGIcompiler toolchain (#1729) - ensure read permission to all installed files for everybody (unless other options specify otherwise) (#1731)
- also consider
$LMOD_CMDin bootstrap script (#1736) - translate PyPI download URL to alternate URL with a hash (#1749)
- make
get_software_libdircompatible with-x(#1750) - set
$LMOD_REDIRECTto ‘no‘ when initialising Lmod (#1755) - add test for broken modules tool setup affecting ‘
module use‘ (#1758)
- add
- various bug fixes, including:
- isolate ‘
options‘ tests from easyblocks other than the ones included in the tests (#1699) - don’t run ‘
module purge‘ in tests, since EasyBuild may be made available through a module (#1702) - avoid rehandling
--include-*options over and over again during--show-config(#1705) - remove useless
test_cwd(#1706) - fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (#1727)
- forcibly create target branch in
--update-pr(#1728) - remove check whether ‘
easybuild‘ is being imported from dir that containseasybuild/__init__.py(#1730) - (re)install vsc-base during stage1 using
--always-copyin bootstrap script, if needed (#1732) - use
os.path.realpathintest_wrong_modulepathto avoid symlinked path breaking the test (#1740) - unset
$PYTHONPATHin before tested bootstrapped EasyBuild module (#1743) - take into account that paths in modulepath may be symlinks in
test_module_caches(#1745) - change to install dir rather than buildpath in sanity check of extension, latter may not exist (#1746, #1748)
- only load modules using short module names (#1754)
- (re)load modules for build deps in extensions_step (#1762)
- fix
modpath_extensions_for method: take into account modules in Lua syntax (#1766) - fix broken link to VSC website in license headers (#1768)
- isolate ‘
easyblocks
- add test configuration for Travis (#895, #897, #900, #926)
- new easyblocks for 4 software packages that require customized support:
- various other enhancements, including:
- update SuiteSparse easyblock for version >= 4.5 (#863)
- enhance imkl easyblock to install on top of PGI (#866, #916)
- enable runtime logging of install cmd in
IntelBase(#874) - enhance Qt easyblock to support installing with
dummytoolchain (#881) - delete libnuma symbolic links in PGI installation directory (#888)
- enhance PDT easyblock to support installing with
dummytoolchain (#894) - add support for building Clang with OpenMP support (#898)
- update Score-P easyblock for additional compilers, MPI libraries & dependencies (#889)
- drop deprecated ‘
testrb‘ from sanity check in Ruby easyblock (#901) - enhance WRF easyblock to support versions >= 3.7 (#902)
- update QuantumESPRESSO easyblock for version 5.3.0 (#904)
- add support in PythonPackage easyblock to use ‘
setup.py develop‘ (#905) - update Qt easyblock for Qt 5.6.0 (#908)
- extend bzip2 easyblock to also build dynamic libraries (#910)
- make threading an explicit option rather than relying on MPI library in SCOTCH easyblock (#914)
- update PGI easyblock to install siterc file so PGI picks up
$LIBRARY_PATH(#919) - enhance sanity check paths for compiler commands in PGI easyblock (#919)
- also filter out
-ldlfrom $LIBBLAS & co for Intel MKL in numpy easyblock (#920) - define
$MIC_LD_LIBRARY_PATHfor impi (#925)
- various bug fixes, including:
- don’t hardcode Python version in
test_make_module_pythonpackage(#876) - make PythonPackage easyblock compatible with
--module-only(#884, #906) - remove check whether ‘
easybuild‘ is being imported from dir that containseasybuild/__init__.py(#891) - fix passing compiler configure option in PDT easyblock (#894)
- fix bug in Score-P easyblock w.r.t.
--with-libbfd(#889) - fix extension filter for Ruby (#901)
- fix
ACTIVATION_TYPESlist in IntelBase + minor style change (#913) - correctly define
$MIC_LD_LIBRARY_PATHin imkl 11.3.x and newer (#915) - fix broken link to VSC website in license headers (#927)
- don’t hardcode Python version in
easyconfigs
- added example easyconfig files for 69 new software packages:
- ALPS (#2888), annovar (#3010), BayeScEnv (#2765), BayesAss (#2870), BerkeleyGW (#2925), Blitz++ (#2784, #3004), bam-readcount (#2850), Commet (#2938), CrossTalkZ (#2939), cuDNN (#2882), DBus (#2855), DFT-D3 (#2107), DIAL (#3056), dask (#2885), dbus-glib (#2855), FFLAS-FFPACK (#2793), FLAC (#2824), FLANN (#3015, #3029), FLEUR (#3043), GConf (#2855), GROMOS++ (#1297), GST-plugins-base (#2855), GStreamer (#2855), GTOOL (#2805), Givaro (#2793), gdist (#2935), gromosXX (#1297), HISAT2 (#2809), i-PI (#2940), Kraken (#3037, #3041), LAME (#2823), LASTZ (#3002), LinBox (#2793), Loki (#2839), libQGLViewer (#2923, #3008), libXxf86vm (#2855), MDSplus (#2787, #2838, #3027), MRIcron (#2831), Mawk (#2732), minieigen (#2839), mpmath (#3058), NBO (#3047, 3048), NGS (#2803), NGS-Python (#2810), ncbi-vdb (#2808), OptiX (#2795), PCL (#3024), PEAR (#2731), PLplot (#2990), Postgres-XL (#2891), PyGTS (#2969), RSeQC (#2788), Rust (#2920, #2943), rainbow (#2730), SHAPEIT (#2806), SIONlib (#2908), Saxon-HE (#2773), Singularity (#2901), SoX (#2825), Subread (#2790), SuperLU (#2665), travis (#2953), VASP (#2950), Wannier90 (#2906, #3042), wget (#3041), wxPython (#2855), xf86vidmodeproto (#2855), Yade (#2839), Yambo (#2932)
- add test configuration for Travis (#2942, #2944, #2954, #3061)
- added easyconfigs for new PGI-based toolchains
- added new easyconfigs for existing toolchains:
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- incl. CGAL 4.8, Clang 3.8.0, icc/ifort 2016.2.181 & 2016.3.210, imkl 11.3.2.181 & 11.3.3.210, impi 5.1.3.181, LLVM 3.8.0, OpenCV 2.4.12, pandas 0.18.0, Qt 5.6.0, Scalasca 2.3, Score-P 2.0.1, SuiteSparse 4.5.2, WRF 3.8
- various other enhancements, including:
- enhance ORCA easyconfig for compatibility with SLURM (#1819)
- enable
-fPICin GraphicsMagick easyconfig, required by Octave (#2764) - clean up binutils easyconfigs to use binutils easyblock (#3006)
- add
include/GraphicsMagickto$CPATHin GraphicsMagick easyconfigs (#3034) - update SuiteSparse easyconfigs according to updated SuiteSparse easyblock (#3050)
- various bug fixes, including:
- fix Perl extensions download urls (#2738)
- add Autoconf as build dep for
GCCcore(#2772) - fix versions of extensions in Bioconductor 3.2 bundles (#2769)
- fix (build) deps for
intel/2016aeasyconfigs of cairo, libXext, libXrender (#2785, #2874) - use ‘
env‘ wherever preconfig/build/installopts is used to set environmental variables (#2807, #2811, #2812) - add zlib as explicit dep in Tk easyconfigs (#2815)
- consistently specify to use
-fgnu89-inlineflag in M4 1.4.17 easyconfigs (#2774, #2779, #2816) - fix homepage and description in Pygments easyconfigs (#2822)
- include pkg-config as build dependencies for libXau, libXdmcp, libxcb (#2827)
- consistently use
XORG_*_SOURCEconstants (#2829, #2830, #2848) - update source URLs in ScientificPython easyconfig files (#2847)
- add checksums in SuiteSparse easyconfigs (#2849)
- fix build deps for GObject-Introspection (#2852)
- correctly specify Perl location in git easyconfig (#2866)
- fix bitstring 3.1.3 download URL in Python easyconfigs, source tarball on PyPI disappeared (#2880)
- fix Perl dependency in worker easyconfigs, it requires non-standard Perl modules (#2884)
- add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma (#2887)
- fix download URL for packmol (#2902)
- drop
usempitoolchain in numexpr easyconfigs, not needed (#2937) - fix use of
resolve_dependenciesin tests according to changes in framework (#2952) - add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs (#2967)
- add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used (#2971)
- add xproto build dependency for makedepend v1.0.5 (#2982)
- disable parallel build for Doxygen (#2986)
- fix source URLs for
FreezeThawandTie::Functionextensions for Perl v5.22.1 (#2988) - add
sedcommand in worker easyconfig files to fix module_path in conf/worker.conf (#2997, #3000) - drop toolchainopts from Eigen easyconfigs, since it is headers-only (#3025)
- clean up dummy bzip2 easyconfig, define buildopts rather than defining
$CCand$CFLAGSviaos.environ(#3036) - use
%(pyshortver)stemplate rather than hardcoding 2.7 in VTK easyconfigs (#3052) - correct install location of OpenCV Python bindings (#3054)
- include XZ as dependency for libunwind (#3055)
- add patch to fix broken OpenSSL tests due to expired certificates (#3057)
- fix broken link to VSC website in license headers (#3062)
v2.7.0 (March 20th 2016)¶
feature + bugfix release
framework
- stabilize Cray support
- enable ‘
dynamic‘ toolchain option by default forCray*toolchains (#1581) - remove FFTW from the Cray toolchains definition (#1585)
- add external modules metadata for Cray systems (#1638)
- fix independency of Cray toolchains w.r.t. toolchain build environment (#1641, #1647)
- remove requirement to use
--experimentalfor Cray toolchains (#1663)
- enable ‘
- enable Python optimization mode in ‘
eb‘ (#1357) - improved GitHub integration
- improve error handling on git commands + better logging for
--new-pr/--update-pr(#1590) - use
gitrather thanhttpsin--new-pr/--update-pr(#1602) - add
-uas shorthand for--upload-test-report(#1605) - fix
--from-prfor PRs that include renamed/deleted files (#1615) - add support for
--install-github-tokenand--check-github(#1616) - fix
fetch_easyconfigs_from_prw.r.t. duplicate files in PRs (#1628)
- improve error handling on git commands + better logging for
- various other enhancements, including:
- add support for
--search-filenameand--terse(#1577) - support complete bash completion (#1580)
- add support for
%(*ver)sand%(*shortver)stemplates (#1595, #1604)- incl.
%(javaver)s,%(javashortver)s,%(perlver)s,%(perlshortver)s,%(pyver)s,%(pyshortver)s,%(rver)s,%(rshortver)s
- incl.
- define
HOMEconstant that can be used in easyconfig files (#1607) - implement support for generating ‘
swap‘ statements in module files (#1609) - add support for
--show-config(#1611, #1620) - simplified support for
--minimal-toolchains(#1614, #1619, #1622, #1625, #1646) - add support for
--dump-env-script(#1624) - enhance ModulesTool.exist to also recognize partial module names (#1630)
- improve error message for toolchain definition errors (#1631)
- make default is_short_modname_for check less strict to support versionless external modules as deps (#1632)
- mention hostname in comment made by
--upload-test-report(#1635) - support providing additional relative path for prefix in external module metadata (#1637)
- add
ThematicModuleNamingScheme(#1645) - enhance logging format: remove logger name, mention location instead (#1649, #1654)
- update kernel versions for SLES12 (#1659)
- raise
EasyBuildErrorrather thanImportErrorinonly_if_module_is_availabledecorator (#1662)
- add support for
- various bug fixes, including:
- fix Lmod spider output in generated modules (#1583)
- correctly define ‘
easybuild‘ namespaces (#1593, #1666, #1680)- this change requires that the
setuptoolsPython package is available (at runtime) - using custom easyblocks by adding them in the Python search path (
$PYTHONPATH) may require adjustments, i.e. also usingpkg_resources.declare_namespacein the__init__.pyfiles; we highly recommend to use--include-easyblocksinstead, see http://easybuild.readthedocs.org/en/latest/Including_additional_Python_modules.html - note: this has the side-effect of not being able anymore to reliably use ‘
eb‘ in the parent directory of the easybuild-framework repository (#1667)
- this change requires that the
- fix template for
savannah.gnu.orgsource URL (#1601) - stop running ‘
module purge‘, only restore environment (#1608) - fix license headers: Hercules foundation is now FWO (#1629)
- avoid that
fancyloggertries to importmpi4pyto determine MPI rank (#1648) - fix error in tests when ‘
file‘ backend is not available in Python keyring (#1650) - update develop install script (#1651)
- handle allowed system deps during
prepare_steprather than during parsing of easyconfig (#1652) - add function to find FlexLM licenses:
find_flexlm_license(#1633, #1653) - fix availability check for external modules with partial module name (#1634, #1643)
- fix bootstrap script to ensure
setuptoolsis also installed (#1655) - fix issue in bootstrap script with
vsc-basebeing picked up from the OS (#1656) - fix bootstrap script for environment where ‘
python‘ is Python 3.x (#1660) - remove
--experimentalfor tests related to--package(#1665) - ensure path to setuptools is included in
$PYTHONPATHbeing used to test scripts (#1671) - sanitize environment before initializing easyblocks (#1676)
- remove
reloadstatements ininclude.py, since they are not required and break--include-toolchains(#1679)
easyblocks
- new easyblocks for 6 software packages that require customized support:
- various other enhancements, including:
- implement support for ‘
use_pip‘ in PythonPackage easyblock (#719, #831) - add support in CUDA easyblock to install wrappers for host compilers (#758)
- update sanity check for picard version 1.124 and above (#796)
- use ‘
module swap‘ for all components inCrayToolchain(#823) - update PSI4 easyblock to cope with changed name of PSI4 data dir (#824)
- use
find_flexlm_licensefunction and avoid defining$CPATHin PGI easyblock (#837) - use
find_flexlm_licensefunction inIntelBasegeneric easyblock (#839) - add unit test to check module file generated by
PythonPackageeasyblock (#841) - rework MVAPICH2 easyblock on top of new MPICH easyblock (#844)
- add CUDA support in CP2K easyblock (#850)
- also define
$LDinbuildoptsfor GATE (#855) - use
find_flexlm_licensefunction in TotalView easyblock (#839) - enhance
MakeCpeasyblock to also support renaming of files while copying them (#859) - hunt for usable ‘
python‘ command inPythonPackageeasyblock when system Python is used (#861) - add sanity check in
easybuild/__init__.pyw.r.t. current working dir (#869) - change suffix of original file to
.easybuildwhen usingfileinputin impi easyblock (#870)
- implement support for ‘
- various bug fixes, including:
- make sure Python unicode settings match that of the system Python (#817)
- remove FFTW related statements in HPL easyblock, since HPL doesn’t require FFTW at all (#822)
- use
pkg_resources.declare_namespacerather thanpkgutil.extend_pathto declare ‘easybuild‘ namespaces (#827) - fix license headers: Hercules foundation is now FWO (#836)
- fix check for non-empty lib dirs in
PythonPackageeasyblock (#840) - consider all Python lib dirs in sanity check for libxml2 (#842)
- correctly handle deprecated configure options (
--with-hwloc/--enable-mpe) in MVAPICH2 easyblock (#853) - use correct configure option for checkpoint/restart in MVAPICH2 easyblock (#854)
- ensure list of Python lib dirs always has a ‘
lib/...‘ entry (#858) - check whether
rpm/rpmrebuildcommands are available using ‘which‘, rather than checking for OS deps (#864) - fix
test_stepin UFC easyblock (#872)
easyconfigs
- added example easyconfig files for 63 new software packages:
- ATSAS (#616, #2587), astropy (#2724, #2727), attr (#2706), BamUtil (#2654), BBMap (#2322), BH (#2508), CheMPS2 (#2445), CosmoloPy (#2723, #2727), csvkit (#2639), Firefox (#2648), FreeXL (#2422), GL2PS (#2667), Glade (#2631), htop (#2538), IGV (#2019), IGVTools (#2019), ImageMagick (#2438), jModelTest (#2529), KEALib (#2420), libcerf (#2656), libgcrypt (#2201), libglade (#2631), libgpg-error (#2201), libspatialite (#2431), LittleCMS (#2438), MAST (#2542), MLC (#2577), MPJ-Express (#2529), mutil (#2201), neon (#758), NextClip (#2544), npstat (#2686, #2703), Octopus (#2643), QuickFF (#2721), p4vasp (#2328), PCMSolver (#2445), PFFT (#2643), PHYLIP (#2694), pkgconfig (#2475, #2476), Platypus (#2618), pplacer (#1056), PRINSEQ (#2437, #2444, #2585), PyFFmpeg (#2501, #2519), PyGObject (#2443), PyGTK (#2443), PyOpenGL (#2628), pyringe (#2533), qrupdate (#2675), rgeos (#2635), rpmrebuild (#2402), shift (#2201), SNAPE-pooled (#2688), SNPhylo (#2701), sratoolkit (#2715), STAR-Fusion (#2463), statsmodels (#2719), StringTie (#2527), synchronicity (#2508), testpath (#2461), USEARCH (#2537), VarScan (#2464), vsc-install (#2165), Whoosh (#2725), xprop (#2645)
- added new easyconfigs for existing toolchains:
- stable Cray-specific easyconfigs
- delete deprecated Cray toolchains and easyconfig files (#2400)
- don’t hardcode
PrgEnvversion, removecraypeandfftwcomponents in Cray toolchains (#2554) - remove
-XCversionsuffix for stable definitions forCray*toolchains (#2714) - support for various software packages with
CrayGNUandCrayInteltoolchains: CP2K, GROMACS, WRF
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1
- various other enhancements, including:
- copy
contribdir in Velvet easyconfigs so scripts are also available (#2456) - redefine matplotlib 1.5.1 easyconfig as a bundle, also include
cyclerextension (dep for matplotlib) (#2470) - add bitstring extension to Python 2.7.11 easyconfigs (#2471)
- enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (#2473)
- add custom sanity check for libjpeg-turbo (#2480)
- add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (#2495, #2729, #2733)
- add source URL in RAxML 7.2.6 easyconfigs (#2536)
- update MPICH easyconfigs to use new MPICH easyblock (#2589)
- free libX11 & co from unneeded Python dependency/versionsuffix (#2549, #2563, #2605, #2664)
- add ‘
--enable-utf --enable-unicode-properties‘ configure options in PCRE easyconfigs (#2561) * required for latest R versions - add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (#2553, #2578)
- add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (#2547, #2556)
- update psmpi easyconfig files to use the new psmpi easyblock (#2619)
- add easyconfig for Python 2.7.11 on top of X11-enabled Tk (#2614, #2621)
- add virtualenv as extension in Python 2.7.11 easyconfigs (#2660)
- copy
- various bug fixes, including:
- fix software name for GTK+ (was ‘gtk+’), PyCairo (was ‘pycairo’) and Gdk-Pixbuf (was ‘gdk-pixbuf’) (#2468)
- don’t hardcode
CC/CXXin OpenMPI easyconfigs (#2472) - remove Google Code source URL for mpi4py (#2474)
- rename ffmpeg to FFmpeg (#2425, #2481)
- use available easyblock for flex (#2486)
- fix determining list of easyconfigs in unit test suite, don’t assume locations are correct (#2530)
- fix specifying DB dependency in DB_File easyconfigs (#2539)
- remove hard-coded
-xSSE4.2for numpy/scipy with Intel compilers (#2546) - fix license headers: Hercules foundation is now FWO (#2550)
- add
--with-zlibconfigure argument in libxml easyconfigs (#2555) - don’t hardcode
optarch=Truein xextproto/xtrans easyconfigs (#2601) - change toolchain version to ‘’ in easyconfigs that use
dummytoolchain and include dependencies (#2612) - GLib doesn’t require libxml2 with Python bindings (#2632)
- add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with ‘
--‘ in build path (#2634) - add missing ‘pkgconfig’ dependency for h5py (#2476, #2650)
- correct software name in FastQC easyconfigs (was ‘fastqc’), use ‘
dummy‘ toolchain for all FastQC version (#2657, #2666) - add missing libxml2 dependencies in GLib easyconfigs (#2658)
- fix Xerces-C++ download location (#2668)
- enable
XML::Bareextension in all Perl easyconfigs (#2672) - update dead link for SuiteSparse (#2679)
- remove custom
exts_filterin easyconfigs usedPythonPackageeasyblock (#2683, #2685) - add M4 as build dep for binutils & flex (#2681)
- add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (#2704)
- fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (#2707)
- style cleanup in various easyconfigs (#2378, #2387, #2395, #2396, #2488-#2493, #2496-#2500, #2502-#2504, #2602)
- working towards automated style review of pull requests
v2.6.0 (January 26th 2016)¶
feature + bugfix release
framework
- add (experimental) support for opening/updating (easyconfigs) pull requests (
--new-pr,--update-pr) (#1528) - sanitize environment before each installation by undefining
$PYTHON*(#1569, #1572) - various other enhancements, including:
- allow user-local modules with hierarchical naming schemes (
--subdir-user-modules) (#1472) - enhance
--extended-dry-runoutput to include paths for requirements inmake_module_req(#1520) - rewrite read_file to use ‘
with‘ (#1534) - add support for
eb --last-log(#1541) - support using fixed install dir scheme (
--fixed-installdir-naming-scheme) (#1546) - add edge attributes for build dependencies in
--dep-graphoutput (#1548) - check whether dependencies marked as external module are hidden (#1552)
- implement support for
--modules-header(#1558) - add support to specify ‘
else‘ body for conditional statements in modules (#1559) - add extra test for
--include-easyblocksfor generic easyblocks (#1562) - allow user to define the default compiler optimization level (
--default-opt-level) (#1565) - make
toolchain.get_variablemore robust w.r.t. dummy toolchain (#1566)
- allow user-local modules with hierarchical naming schemes (
- various bug fixes, including:
- fix missing ‘
yaml‘ module check in tests (#1525) - fix ‘develop’ install script (#1529)
- correctly quote FPM option values in packagin support (#1530)
- correctly handle ‘
.‘ in software name w.r.t.$EB*environment variables (#1538) - exclude logs and test reports from packages (#1544)
- also pass down
--job-coresforpbs_pythonjob backend (#1547) - skip dependencies marked as external modules when packaging (#1550)
- fix syntax for
set_aliasstatement in Lua syntax (#1554) - handle the case of all ‘offline’ nodes correctly for
--job(#1560) - fix
test_modules_tool_statelessunit test for stateless ModulesTool with Lmod as modules tool (#1570)
- fix missing ‘
easyblocks
- add generic easyblock for Cray toolchains (#766)
- new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- update BamTools easyblock for versions 2.3.x and newer: some shared libraries are now static) (#785)
- don’t hardcode
.so, useget_shared_lib_extinstead (#789, #790, #791, #793, #794, #803, #815) - enhance CPLEX easyblock by adding more subdirs to
$PATH, define$LD_LIBRARYand$CPLEXDIR(#797) - make sanity check for netcdf4-python work with both egg and non-egg installs (#799)
- update sanity check in PETSc/SLEPc easyblocks for v3.6.x (#800)
- update Trinity easyblock for 2.x versions (#802)
- update DOLFIN easyblock for v1.6.0 (#804)
- check for
libkokkoscore.arather thanlibkokkos.afor Trilinos 12.x (#805) - add an option to skip the sanitizer tests of Clang (#806)
- update Molpro easyblock to support binary installs and 2015 version (#807)
- make
ConfigureMakemore robust w.r.t. custom easyconfig parameters (#810)
- various bug fixes, including:
easyconfigs
- add easyconfigs for
foss/2016aandintel/2016common toolchains (#2310, #2311, #2339, #2363)- incl. easyconfigs for Boost, CMake, Python, Perl using these toolchains
- added example easyconfig files for 21 new software packages:
- BLASR (#922), BioKanga (#2247), BoltzTraP (#2365), basemap (#2221), CppUnit (#2271), EggLib (#2335), FLASH (#2281), GLM (#2288), hub (#2249), MACS2 (#1983), MotEvo (#843), numba (#2243), PGI (#1833, #2367), PLY (#2305), PaStiX (#2319, #2326), patchelf (#2327), pip (#2284), RSEM (#2316), RcppArmadillo (#2289), SCDE (#2289), slepc4py (#2318)
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including BamTools 2.4.0, Boost 1.60.0, Clang 3.7.1, DOLFIN/FFC/FIAT/Instant/UFL 1.6.0, GATE 7.0, GCC 5.3.0, LLVM 3.7.1, pandas 0.17.1, PETSc 3.6.3, SAMtools 1.3, scipy 0.16.1, SLEPc 3.6.2, Trilinos 12.4.2, Trinity 2.1.1, VTK 6.3.0
- various other enhancements, including:
- various bug fixes, including:
- various style fixes, including:
v2.5.0 (December 17th 2015)¶
feature + bugfix release
framework
- add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
- add support fo generic compilation using
--optarch=GENERIC(#1471) - update experimental support for
.yebeasyconfigs (#1515)- support clean way to specify toolchain + dependencies in
.yebeasyconfigs
- support clean way to specify toolchain + dependencies in
- various other enhancements, including:
- add support for ‘
whatis‘ easyconfig parameter (#1271) - add support for SLES 12 and kernel 3.12.x (#1412)
- add GCCcore toolchain definition (#1451)
- use ‘
diff --git‘ lines to determine patched files in pull request with--from-pr(#1460) - add proper option parser to bootstrap script (#1468)
- add
get_gcc_version()function in systemtools module (#1496) - don’t load fake module in sanity_check_step during a dry run (#1499)
- allow string values to be passed in
make_module_reqby hoisting them into a list (#1502) - add support for listing build dependencies as hidden dependencies (#1503)
- also consider
lib32/pkgconfigandlib64/pkgconfigfor$PKG_CONFIG_PATH(#1505) - add support to
make_module_depto specify module to unload before loading a dependency module (#1506) - add support to
make_module_extrato specify alternative root/version for$EBROOT/$EBVERSION(#1508) - packaging support is no longer considered experimental (#1510)
- add support for ‘
- various bug fixes, including:
- also consider
lib64in sanity check performed during EasyBuild bootstrap (#1464) - also add description/homepage to packages created with FPM (#1469)
- fix develop setup script to install EasyBuild-develop module in subdirectory (#1480)
- don’t create a whole set of temporary ‘
minimal-easyconfigs‘ subdirs with--minimal-toolchains(#1484) - only keep polling if exit code is
Noneinrun_cmd_qa, to correctly deal with negative exit codes (#1486) - fix bootstrap script for missing sys_platform by using newer distribute 0.6.49 in stage 0 (#1490)
- make sure that extra custom easyconfig parameters are known for extensions (#1498)
- add missing import for
EasyBuildErrorineasybuild/toolchains/linalg/libsci.py(#1512) - isolate tests from possible system-wide configuration files (#1513)
- only use
globinmake_module_reqon non-empty strings (#1519) * this fixes the problem where$CUDA_HOMEand$CUDA_PATHare not defined in module files for CUDA
- also consider
easyblocks
- update easyblocks for Intel tools to support 2016 versions (#691, #745, #756, #777)
- IntelBase easyblock has been enhanced to support specifying which components to install
- new easyblocks for 3 software packages that require customized support:
- various other enhancements, including:
- update numpy and SuiteSparse easyblock to use scikit-umfpack (#718)
- add an option to allow removal of the
-Dusethreadsflag in Perl easyblock (#724) - update Doxygen easyblock for 1.10.x (CMake) (#734)
- update sanity check in Qt easyblock for Qt 5.x (#740)
- add support for multilib build of GCC on PowerPC (#741)
- add support to OpenFOAM and SCOTCH easyblocks to support 64-bit integers, via ‘i8’ toolchain option (#744)
- fix sanity check to support numpy 1.10 (dropped _dotblas.so) (#757, #761, #762)
- update IPP easyblock for v9.x (#759)
- cleaner output for PythonPackage under dry run, make numpy easyblock dry-run aware (#760, #671)
- add support for using netCDF-Fortran as dependency in ALADIN easyblock (#764)
- add support for tbb 4.4.x in tbb easyblock (#769)
- add support for specifying altroot/altversion in Bundle easyblock (#773)
- update OpenFOAM easyblock for OpenFOAM-Extend 3.2 + use apply_regex_substitutions (#770)
- various bug fixes, including:
- fix module path extension of system compiler in HMNS setup (#742)
- only restore
$PYTHONPATHif it was defined in EasyBuildMeta easyblock (#743) - make sure
$PYTHONPATHis defined correctly in module file for Python packages created with--module-only(#748) - fix WRF easyblock to produce correct module under
--module-only --force(#746, #752) - don’t hardcode ‘
openPBS‘ in GATE easyblock, use value fordefault_platformeasyconfig parameter (#753) - avoid adding lib subdirs to
$*LIBRARY_PATHif no libraries are there inPythonPackageeasyblock (#755) - fix installing Python bindings for libxml2 to correct installation prefix (#765)
easyconfigs
add GCCcore easyconfig that can be used as base for all compilers (without getting in the way) (#2214)
- along with easyconfig for
GCC/4.9.3-2.25: bundle of GCCcore 4.9.3 and binutils 2.25 - intended to replace the GNU toolchain
- along with easyconfig for
added example easyconfig files for 39 new software packages:
- DIRAC (#2212), GeoIP (#2172, #2185), GeoIP-C (#2172, #2185), graph-tool (#1591), gtkglext (#2217), Intel Advisor (#2210), InterProScan (#2225, #2227, #2234), intltool (#2136), kallisto (#2173), LibUUID (#1930), LuaJIT (#2153), libXcursor (#2136), libXrandr (#2136), libXtst (#2143), libdap (#1930), libtasn1 (#2208), libxkbcommon (#2136), MRtrix (#2217, #2218), MultiNest (#2166, #2168), Nipype (#2150), PPfold (#2183, #2187), p11-kit (#2208), pangox-compat (#2217), Qt5 (#2136), randrproto (#2136), rhdf5 (#2175), Stampy (#2180, #2182), scikit-umfpack (#2061), scp (Python pkg) (#2196), sleuth (#2175), traits (#2150), vincent (#2169, #2185), XKeyboardConfig (#2136), xcb-util (#2136), xcb-util-image (#2136), xcb-util-keysyms (#2136), xcb-util-renderutil (#2136), xcb-util-wm (#2136), zlibbioc (#2175)
added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including CMake 3.4.1, HDF5 1.8.16, netCDF 4.3.3.1, netCDF-Fortran 4.4.2, numpy 1.10.1, Octave 4.0.0, OpenFOAM 3.0.0, OpenFOAM-Extend 3.2, Python 2.7.11
various other enhancements, including:
- add tidyr to R 3.2.1 easyconfigs (#2174)
- enable C++ support in MIGRATE-N (#2178)
- also installed shared libraries for AMD and UMFPACK in SuiteSparse (#2061)
- fix software name for ParaView (was: Paraview) (#2132)
- enable building of shared libraries for binutils (#2133)
- harden binutils built with dummy toolchain by linking to system libraries via
RPATH(#2228) - enhance easyconfig unit tests to check that each easyconfig file is in the right subdirectory (#2232)
various bug fixes, including:
- fix ALADIN patch file to not use relative paths, and adjust list of ALADIN sources accordingly ((#2207), (#2213))
- rename patch files for OpenFOAM to be in line with other patches (#2226)
- fix typo in bzip2 source URLs (#2204)
- force linking of ncurses in libreadline (#2206)
- enable
-fPICin all zlib 1.2.8 easyconfigs (#2220) - move Net-LibIDN/SRA-Toolkit/bbftpPRO/o2scl easyconfigs to right location (#2232)
- restrict parallel build in OpenFOAM-Extend easyconfigs via ‘
maxparallel‘, not ‘parallel‘ (#2233)
v2.4.0 (November 10th 2015)¶
feature + bugfix release
framework
- add support for
--extended-dry-run/-x(#1388, #1450, #1453, #1455)- detailed documentation is available at Extended dry run
- fix checking of sanity check paths w.r.t. discriminating between files and directories (#1436)
- this impacts several easyconfig files where
sanity_check_pathswas not 100% correct
- this impacts several easyconfig files where
- make ‘
eb‘ script aware of Python v3.x, fall back to usingpython2if required (#1411) - add experimental support for parsing .yeb easyconfig files in YAML syntax (#1447, #1448, #1449)
- add experimental support for resolving dependencies with minimal toolchains (#1306)
- various other enhancements, including:
- refactor
extract_cmdfunction to get rid of if/elif/else spaghetti blob (#1382) - add support for
--review-pr(#1383) - add
apply_regex_substitutionsfunction to perform runtime patching from easyblocks (#1388, #1458) - add support for specifying alternate name to be part of generated module name (#1389)
* via ‘
modaltsoftname‘ easyconfig parameter - support overriding # used cores via
--parallel(#1393) - also define
$FCand$FCFLAGSin build environment (#1394) - add support extracting for
.tar.Zfiles (#1396) - include easybuild/scripts in instalation (#1397)
- ignore hidden directories in find_base_dir (#1413, #1415)
- add
only_if_module_is_availabledecorator function to guard functionality that uses optional dependencies (#1416) - give easyblocks the possibility to choose
maxhitsforrun_cmd_qa(#1417) - use class name (string) rather than License instances as values for software license constants (#1418)
- support controlling recursive unloading of dependencies via ‘
recursive_module_unload‘ easyconfig parameter (#1425) - implement basic support for type checking of easyconfig parameters (#1427)
- support auto-converting to expected value type for easyconfig parameters (enabled by default) (#1428, #1437)
- add support for
--rebuildcommand line option, alternative for--forcewhich doesn’t imply--ignore-osdeps(#1435) - add support for Mercurial easyconfig repository (#979, #1446)
- add dedicated class for psmpi toolchain MPI component, and use it in gpsmpi and ipsmpi toolchains (#1454)
- refactor
- various bug fixes, including:
- fix extracting of comments from an easyconfig file that includes ‘tail’ comments (#1381)
- fix dev version to follow PEP-440, as required by recent setuptools versions (#1403)
- required to avoid that setuptools transforms the version itself
- see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
- allow
get_cpu_speedto returnNoneif CPU freq could not be determined (#1421) - relax
sanity_check_pathsin EasyBuild bootstrap script to deal with possible zipped .egg (#1422) - use empty list as default value for src/patches in Extension class (#1434)
- skip symlinked files in
adjust_permissionsfunction (#1439) - fix HierarchicalMNS to always use full version number (#1440)
easyblocks
- 3 new generic easyblocks: OCamlPackage (#467), SCons (#689, #700), Waf (#722)
- new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- add support for installing OpenFOAM with external METIS, CGAL and Paraview (#497)
- update netCDF easyblock updated for netCDF v4.3.3.1 (#674)
- update Rosetta easyblock for recent Rosetta versions (#677)
- make unpacked source dir detection in easyblock for VSC-tools a little bit more flexible (#679)
- add support for building with Plumed support enabled in CP2K easyblock (#681)
- update Go easyblock for Go v1.5 (#683)
- use
apply_regex_substitutionsfunction in WRF easyblock (#685) - update MUMPS easyblock for 5.x (#686)
- implement runtime patching of
$WM_*and compiler variables for OpenFOAM (#688) - specify sequential compiler to use in compiler command that gets injected in OpenFOAM easyblock (#692)
- make
PythonPackageand WRF easyblocks dry-run aware (#696)- see also Guidelines for easyblocks
- add support in
PythonPackagefor installing witheasy_install+ installing zipped eggs (#698, #711, #715) - update Bowtie easyblock for recent Bowtie versions (#707)
- update CUDA easyblock for CUDA 7.x(#708)
- also consider
config/make.sys.infor want in QuantumESRESSO easyblock (#714) - define
$NWCHEM_LONG_PATHif needed in NWChem easyblock (#720) - remove custom post-install step in PDT easyblock (#723)
- no longer needed now that
adjust_permissionsfunctions ignores symlinks
- no longer needed now that
- use
$LIBSin HPL easyblock (#727, #736)
- various bug fixes, including:
- also define
$MCRROOTfor MCR in module (#687) - add missing ‘
super‘ call inconfigure_stepof easyblock for python-meep (#694) - only prepend existing non-empty paths to
$PYTHONPATHinPythonPackageeasyblock (#697) - fix extra_options definition in
CMakePythonPackageeasyblock (#698) - fix dev version to follow PEP-440, as required by recent setuptools versions (#702, #703, #704)
- required to avoid that setuptools transforms the version itself
- see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
- consider both
libandlib64in sanity check paths for flex (#705) - also copy signature file and don’t copy CMake files in Eigen easyblock (#709)
- fix directory names in
make_module_req_guessof ANSYS easyblock (#713) - fix imports for
set_tmpdirin easyblock unit tests after function was moved in EasyBuild framework (#726) - use
--with-tcltk*configure options for Python to point to ensure Tcl/Tk deps are picked up (#729) - fix order of subdirs for QuantumESPRESSO binaries (#730)
- correctly handle having both
$FC/$FCFLAGSand$F90/$F90FLAGSdefined when building MVAPICH2 (#732) - fix OpenSSL sanity check paths: lib/engines is a directory (#731, #733)
- fix sanity check paths for netcdf-python (#735)
- also define
easyconfigs
- added example easyconfig files for 45 new software packages:
- animation (#2007), ANSYS CFD (#1969), ANTLR (#1191, #1980), APR (#1970), APR-util (#1970), Aspera Connect (#2005), ChIP-Seq (#2119), deap (#2082), DISCOVARdenovo (#1932), FastQC (#1984), fontsproto (#1618, #2038), GraphicsMagick (#2007), HBase (#1990), ISIS (#1972), libedit (#293), libfontenc (#1618, #2038), libGLU (#1627), libXdamage (#1618, #2038), libXfont (#1618, #2038), LLVM (#1620, #1989, #2031), MIGRATE-N (#1944), MIRA (#1938), mympingpong (#2049), MySQLdb (#2011), NCO (#1191, #1980), NIPY (#2064), Nilearn (#2064), NiBabel (#2064), PBZIP2 (#1038), PIL (#2062), PhyloCSF (#2018), pycairo (#2085), pydicom (#2063), Salmon (#2051), Samcef (#1941), scikit-image (#1974, #2006), Serf (#1970), SSAHA2 (#1039), Subversion (#1970), SWASH (#2059), time (#1954), Trim_Galore (#1984), Trimmomatic (#1987), WEKA (#1986), x264 (#2017)
- added new easyconfigs for existing toolchains:
gimkl/2.11.5(#2093) - added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including Clang + LLVM 3.7.0, CMake 3.3.2, CUDA 7.5.18, hanythingondemand v3.0.1, Mesa 11.0.2, mpi4py v2.0.0, ncurses 6.0, OpenFOAM 2.4.0, Paraview 4.4.0, Python 3.5.0, QuantumESPRESSO v5.2.1
- various other enhancements, including:
- various bug fixes, including:
- fix software name for
BEEF(was ‘libbeef‘) (#1679) - add patch to install
qhull.pc(pkgconfig) file with Qhull (#1975) - don’t enable experimental nouveau API in libdrm easyconfigs (#1994)
- fix dev version to follow PEP-440, as required by recent setuptools versions (#1997)
- required to avoid that setuptools transforms the version itself
- see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
- correct homepage in Cufflinks easyconfigs (#2060)
- fix imports for
set_tmpdirin easyblock unit tests after function was moved in EasyBuild framework (#2097) - add patch for Tk 8.6.4 to fix problem with
tk.tclnot being found (#2102) - don’t use
%(version)stemplate in toolchain version, causes problems with HierarchicalMNS (#2104) - fix sanity check paths in several easyconfig (#2109, #2120, #2121, #2125)
- required because of bug fix in
sanity_check_stepimplementation - CVXOPT, h5py, LIBSVM, libunistring, MDP, monty, PhyloCSF, Pyke, pandas, pycosat, pyhull, pymatgen, python-dateutils, Seaborn, Theano, XML-LibXML, XML-Simple
- required because of bug fix in
- fix software name for
v2.3.0 (September 2nd 2015)¶
feature + bugfix release
framework
- requires vsc-base v2.2.4 or more recent (#1343)
- required for
mk_rst_tablefunction invsc.utils.docs
- required for
- various other enhancements, including:
- add support for generating documentation for (generic) easyblocks in
.rstformat (#1317) - preserve comments in easyconfig file in
EasyConfig.dump()method (#1327) - add
--cleanup-tmpdiroption (#1365)- enables to preserve the used temporary directory via
--disable-cleanup-tmpdir
- enables to preserve the used temporary directory via
- enhance
EasyConfig.dump()to reformat dumped easyconfig according to style guidelines (#1345) - add support for extracting
.isofiles using 7z (p7zip) (#1375)
- add support for generating documentation for (generic) easyblocks in
- various bug fixes, including:
- correctly deal with special characters in template strings in
EasyConfig.dump()method (#1323) - rework
easybuild.tools.module_generatormodule to avoid keeping state w.r.t. fake modules (#1348) - fix dumping of hidden deps (#1354)
- fix use of
--jobwith hidden dependencies: include--hiddenin submitted job script when needed (#1356) - fix
ActiveMNS.det_full_module_name()for external modules (#1360) - fix
EasyConfig.all_dependenciesdefinition, fix tracking of job dependencies (#1359, #1361) - fix
ModulesTool.exist()for hidden Lua module files (#1364) - only call
EasyBlock.sanity_check_stepfor non-extensions (#1366)- this results in significant speedup when installing easyconfigs with lots of extensions, but also results in checking the default sanity check paths if none were defined for extensions installed as a module
- fix using module naming schemes that were included via
--include-module-naming-schemes(#1370)
- correctly deal with special characters in template strings in
easyblocks
- new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- enhance BWA easyblock to also install man pages (#650)
- enhance tbb easyblock to consider lib dirs in order and also define
$CPATH,$LIBRARY_PATH,$TBBROOT(#653, #654) - call
PythonPackage.configure_stepinConfigureMakePythonPackage.configure_step(#668) - add ‘
foldx3b6‘ as possible binary name in FoldX easyblock (#671) - enhance/cleanup MATLAB easyblock (#672)
- move preparing of ‘
intel‘ subdir in$HOMEtoconfigure_stepinIntelBaseeasyblock (#673)
- various bug fixes, including:
- add missing super call in
post_install_stepof imkl easyblock (#648, #660) - fix regex used to correct
I_MPI_ROOTin impimpivars.shscripts (#662) - fix regex used to patch
.mkfile in configure step of SuiteSparse easyblock (#666) - correctly specify installation prefix via
$GEM_HOMEinRubyGemeasyblock (#667) - add custom sanity check in scipy easyblock (#669)
- specify to always use the bfd linker for OpenFOAM, to stay away from using
ld.gold(#670)
- add missing super call in
easyconfigs
- added example easyconfig files for 19 new software packages:
- ATK (#1780), Atkmm (#1780), cairomm (#1780), GLibmm (#1780), GlobalArrays (#1868), gdk-pixbuf (#1780), gtk+ (#1780), Gtkmm (#1780), libbeef (#1827), libsigc++ (#1780), libsodium (#1876), MACS (#1869), MCR (#1677), Molpro (#1880), NFFT (#1921), p7zip (#1931), Pangomm (#1780), pygraphviz (#1861), pycosat (#1859)
- added new easyconfigs for existing toolchains: GNU/4.9.3-2.25 (#1836), foss/2015b (#1695), intel/2015b (#1696)
- add easyconfigs using this toolchain for BLAST+ 2.2.31, Boost 1.58.0, CP2K 2.6.1, OpenFOAM 2.3.1, Perl 5.20.2 + 5.22.0 (bare), Python 2.7.10, R 3.2.1
- added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
- including Boost 1.59.0, CP2K 2.6.1, GCC 5.2.0
- various other enhancements, including:
- various bug fixes, including:
- fix enabling MPI support for h5py 2.5.0 (#1825)
- fix versions of Bioconductor packages + add a couple extra (#1828, #1852, #1895, #1917)
- put dummy values in place for
builddir/installdirtemplates in easyconfigs unit tests (#1835) - fix easyconfigs unit tests w.r.t. changes made in framework (#1853, #1870, #1874, #1875)
- add GMP as missing dep in Python 2.7.10 easyconfigs, required for pycrypto extension (#1858)
- specify installation prefix for SIP (#1888, #1892)
- add custom sanity check paths in various easyconfigs (#1889, #1894, #1897 - #1909)
- required because of fix in EasyBuild framework, causing default sanity check paths to be considered for extensions that are installed as a module
- affected easyconfigs include: AnalyzeFMRI, Biggus, bibtexparser, DB_File, DBD-Pg, DBD-SQLite, DBD-mysql, evmix, fmri, FPM, GraphViz, gsl, GSSAPI, MDP, mpi4py, ncdf, ncdf4, netifaces, NetLibIDN, networkx, ordereddict, Parallel-ForkManager, paycheck, PyQuante, Pyke, PyQt, r2py, rjags, runjags, scikit-learn, SOBAcl, vsc-processcontrol, vsc-mympirun-scoop, XML, XML-Dumper, XML-Parser, XML-Twig, YAML-Syck
- don’t enable ‘
static‘ toolchain option in SuiteSparse 4.4.3 easyconfig (#1911) - add –exclude unpack options for OpenFOAM 2.3.1 to avoid cyclic symlink causing problems when unpacking (#1925)
v2.2.0 (July 15th 2015)¶
feature + bugfix release
framework
- add support for using GC3Pie as a backend for
--job(#1008)- see also Submitting jobs using –job
- add support for
--include-*configuration options to include additional easyblocks, toolchains, etc. (#1301) - add (experimental) support for packaging installed software using FPM (#1224)
- various other enhancements, including:
- use https for PyPI URL templates (#1286)
- add GNU toolchain definition (#1287)
- make bootstrap script more robust (#1289, #1325):
- exclude ‘easyblocks’ pkg from
sys.pathto avoid thatsetup.pyfor easybuild-easyblocks picks up wrong version - undefine
$EASYBUILD_BOOTSTRAP*environment variables, since they do not correspond with known config options
- exclude ‘easyblocks’ pkg from
- improve error reporting/robustness in
fix_broken_easyconfigs.pyscript (#1290) - reset keep toolchain component class ‘constants’ every time (#1294)
- make
--strictalso a build option (#1295) - fix purging of loaded modules in unit tests’ setup method (#1297)
- promote
MigrateFromEBToHMNSto a ‘production’ MNS (#1302) - add support for
--read-only-installdirand--group-writable-installdirconfiguration options (#1304) - add support for not expanding relative paths in
prepend_paths(#1310) - enhance
EasyConfig.dump()method to use easyconfig templates where possible (#1314), #1319), #1320), #1321)
- various bug fixes, including:
- fix issue with cleaning up (no) logfile if
--logtostdout/-lis used (#1298) - stop making
ModulesToolclass a singleton since it causes problems when multilple toolchains are in play (#1299) - don’t modify values of ‘paths’ list passed as argument to prepend_paths in
ModuleGenerator(#1300) - fix issue with
EasyConfig.dump()+ cleanup (#1308), #1311) - reenable (and fix) accidentally disabled test (#1316)
- fix issue with cleaning up (no) logfile if
easyblocks
- modified easybuild.easyblocks package declaration to support giving preference to custom easyblocks (#617)
- 2 new generic easyblocks: RubyGem (#565), SystemCompiler (#633)
- new easyblocks for 5 software packages that require customized support:
- various other enhancements, including:
- update CUDA easyblock for v6.x (#476)
- make METIS easyblock take into account configopts (#494)
- enable building of EOMIP and EOMEA for NWChem versions 6.5 and up (#508)
- make out-of-source build with CMake truly out-of-source (#615)
- add support in Bundle easyblock to run full sanity check (#627)
- also take platform-specific Python lib dirs into account in PythonPackage easyblock (#628)
- fix mpivars scripts in Intel MPI installation for versions where the installation is moved (#629)
- don’t restrict
det_pylibdirfunction to only EasyBuild-provided Python (#631), #641) - support snappy and other optional native libs in Hadoop easyblock (#632), #638), #640), #642)
- various bug fixes, including:
- fix Xmipp easyblock, use provided
install.shscript (#630) - update Clang easyblock to disable tests that may fail when unlimited stack size is used (#622)
- fix setting of
$INTEL_LICENSE_FILEfor port@server values (#635)
- fix Xmipp easyblock, use provided
easyconfigs
- added example easyconfig files for 62 new software packages:
- ADF (#899), AutoDock_Vina (#808), bibtexparser (#1726), Biggus (#1770), Bismark (#990), blasr (#1662), BSMAP (#1171), Check (#811), Circuitscape (#1222), CONTRAfold (#689), cramtools (#1741), DBD-Pg (#1066), DendroPy (#995), EMAN2 (#1737), ETSF_IO (#727), eudev (#1578), fastqc (#1636), FDS (#814), #1617), #1625), FPM (#1440), frealign (#1619), g2log (#1035), GC3Pie (#1692), #1756), #1768), GenotypeHarmonizer (#1672), gensim (#1762), GraphViz (#1658), hisat (#1674), IDBA-UD (#1045), IMa2 (#828), IMPUTE2 (#824), JUBE (#1396), LAMARC (#760), libXScrnSaver (#1653), MATIO (#1004), MuTect (#1483), ncdf (#617), NEMO (#1640), ngspice (#1116), ordereddict (#1774), OSU Micro-Benchmarks (#1777), Parallel-ForkManager (#847), pBWA (#1009), PeakSeq (#1412), Pillow (#1702), Pindel (#1126), PLUMED (#1596), #1665), PostgreSQL (#1066), PROJ (#1006), PyAMG (#1222), Pyke (#1776), rpy2 (#1775), Sailfish (#1035), SCANMS (#1386), Seaborn (#1763), snpEff (#1680), SOBAcl (#1658), SPIDER (#1624), #1723), STAR (#1043), #1676), system GCC (#1778), tabix (#1059), tecplot360ex (#1100), Vampir (#512), VampirServer (#512), verifyBamID (#1675)
- added easyconfigs for 4 new software bundles:
- added easyconfigs for new GNU toolchain (#1346), #1669)
- 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 BLAST 2.2.31+, Clang 3.6.1, CUDA 6.x, GCC 4.9.3, GROMACS 5.0.5, HDF5 1.8.15 + 1.8.15-patch1, Python 2.7.10, R 3.2.0 + 3.2.1, WRF 3.6.1
- various other enhancements, including:
- update all ncurses easyconfigs to enable ncursesw and use ConfigureMake easyblock (#1337)
- update PDT easyconfigs to use PDT easyblock (#1687)
- add custom
sanity_check_pathsin libxml2 easyconfigs (#1690) - enhance unit tests to also cover EasyConfig.dump() method on all easyconfigs (#1761)
- include snappy as dependency in Hadoop easyconfigs (#1758), #1773)
- enable SSL support in CMake v3.2.3 easyconfigs (#1784)
- add additional extensions in R easyconfigs (#1637)
- various bug fixes, including:
- add patch file required for correct CUDA-aware OpenMPI v1.7.3 build (#631)
- fix issue with OpenMPI dependency in ECore easyconfigs (#777)
- don’t run the Bloom tests for Jellyfish, they can randomly fail (#1016)
- fix source URLs in BioPerl easyconfigs (#1075)
- patch out svnversion command in Python 2.5.6 to fix build on recent systems (#1576)
- consistently use https for PyPI URLs in homepage/source_urls (#1616), #1722)
- include Tcl and Tk as dependencies in R easyconfig (#1623)
- add patch for installing paycheck as Py3 extension (#1629)
- add Perl dependency in git 2.x easyconfigs (#1631)
- fix easyconfig for GMP 6.0.0, don’t use 6.0.0a sources (#1635)
- fix source_urls in QuantumESPRESSO 5.0.2 easyconfigs (#1652)
- include Tk as dependency in Python 2.7.9 easyconfigs (#1654)
- include tk-devel is list of OS deps for Python 2.7.9 Cray easyconfigs, make sure ‘
import Tkinter‘ works (#1655) - drop gpfs versionsuffix and stop using no longer existing
--enable-gpfsconfigopt for recent HDF5 versions (#1657) - include missing libxml2 dep in GLib easyconfigs (#1666)
- fix source URLs in Qt easyconfigs (#1673)
- fix source URLs for argparse Python extension (#1697)
- fix source URLs for deap Python extension (#1699)
- fix easyconfigs unit tests after making ModulesTool a non-singleton class (#1708)
- fix names for Xmipp easyconfigs and patches (#1719)
- add patch for Qt 4.8.6 to fix build issue on RHEL6 with intel/2015a (#1734)
- add M4 as build dep for GCC 5.1.0 (#1735)
- fix Bioconductor extension versions in R 3.1.3 easyconfigs (#1748)
- remove custom exts_filter definition from Python 3.4.3 easyconfig (#1765)
- fix source_urls in netCDF easyconfigs (#1766)
- fix source_urls in netCDF-C++ and netCDF-Fortran easyconfigs (#1767)
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)- see from_pr_specifying_easyconfigs
- 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