EasyBuild release notes¶
The latest version of EasyBuild provides support for building and installing 799 different software packages, using 34 different (compiler) toolchains. It contains 159 software-specific easyblocks and 28 generic easyblocks, alongside 5,093 easyconfig files.
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-run
output 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-graph
output (#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-easyblocks
for generic easyblocks (#1562) - allow user to define the default compiler optimization level (
--default-opt-level
) (#1565) - make
toolchain.get_variable
more 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-cores
forpbs_python
job backend (#1547) - skip dependencies marked as external modules when packaging (#1550)
- fix syntax for
set_alias
statement in Lua syntax (#1554) - handle the case of all ‘offline’ nodes correctly for
--job
(#1560) - fix
test_modules_tool_stateless
unit 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_ext
instead (#789, #790, #791, #793, #794, #803, #815) - enhance CPLEX easyblock by adding more subdirs to
$PATH
, define$LD_LIBRARY
and$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.a
rather thanlibkokkos.a
for 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
ConfigureMake
more robust w.r.t. custom easyconfig parameters (#810)
- various bug fixes, including:
easyconfigs
- add easyconfigs for
foss/2016a
andintel/2016
common 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
.yeb
easyconfigs (#1515)- support clean way to specify toolchain + dependencies in
.yeb
easyconfigs
- 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_req
by hoisting them into a list (#1502) - add support for listing build dependencies as hidden dependencies (#1503)
- also consider
lib32/pkgconfig
andlib64/pkgconfig
for$PKG_CONFIG_PATH
(#1505) - add support to
make_module_dep
to specify module to unload before loading a dependency module (#1506) - add support to
make_module_extra
to 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
lib64
in 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
None
inrun_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
EasyBuildError
ineasybuild/toolchains/linalg/libsci.py
(#1512) - isolate tests from possible system-wide configuration files (#1513)
- only use
glob
inmake_module_req
on non-empty strings (#1519) * this fixes the problem where$CUDA_HOME
and$CUDA_PATH
are 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
-Dusethreads
flag 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
$PYTHONPATH
if it was defined in EasyBuildMeta easyblock (#743) - make sure
$PYTHONPATH
is 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_platform
easyconfig parameter (#753) - avoid adding lib subdirs to
$*LIBRARY_PATH
if no libraries are there inPythonPackage
easyblock (#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
-fPIC
in 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_paths
was not 100% correct
- this impacts several easyconfig files where
- make ‘
eb
‘ script aware of Python v3.x, fall back to usingpython2
if 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_cmd
function to get rid of if/elif/else spaghetti blob (#1382) - add support for
--review-pr
(#1383) - add
apply_regex_substitutions
function 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
$FC
and$FCFLAGS
in build environment (#1394) - add support extracting for
.tar.Z
files (#1396) - include easybuild/scripts in instalation (#1397)
- ignore hidden directories in find_base_dir (#1413, #1415)
- add
only_if_module_is_available
decorator function to guard functionality that uses optional dependencies (#1416) - give easyblocks the possibility to choose
maxhits
forrun_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
--rebuild
command line option, alternative for--force
which 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_speed
to returnNone
if CPU freq could not be determined (#1421) - relax
sanity_check_paths
in 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_permissions
function (#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_substitutions
function 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
PythonPackage
and WRF easyblocks dry-run aware (#696)- see also Guidelines for easyblocks
- add support in
PythonPackage
for 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.in
for want in QuantumESRESSO easyblock (#714) - define
$NWCHEM_LONG_PATH
if needed in NWChem easyblock (#720) - remove custom post-install step in PDT easyblock (#723)
- no longer needed now that
adjust_permissions
functions ignores symlinks
- no longer needed now that
- use
$LIBS
in HPL easyblock (#727, #736)
- various bug fixes, including:
- also define
$MCRROOT
for MCR in module (#687) - add missing ‘
super
‘ call inconfigure_step
of easyblock for python-meep (#694) - only prepend existing non-empty paths to
$PYTHONPATH
inPythonPackage
easyblock (#697) - fix extra_options definition in
CMakePythonPackage
easyblock (#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
lib
andlib64
in 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_guess
of ANSYS easyblock (#713) - fix imports for
set_tmpdir
in 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
/$FCFLAGS
and$F90
/$F90FLAGS
defined 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_tmpdir
in easyblock unit tests after function was moved in EasyBuild framework (#2097) - add patch for Tk 8.6.4 to fix problem with
tk.tcl
not being found (#2102) - don’t use
%(version)s
template 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_step
implementation - 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_table
function invsc.utils.docs
- required for
- various other enhancements, including:
- add support for generating documentation for (generic) easyblocks in
.rst
format (#1317) - preserve comments in easyconfig file in
EasyConfig.dump()
method (#1327) - add
--cleanup-tmpdir
option (#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
.iso
files 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_generator
module to avoid keeping state w.r.t. fake modules (#1348) - fix dumping of hidden deps (#1354)
- fix use of
--job
with hidden dependencies: include--hidden
in submitted job script when needed (#1356) - fix
ActiveMNS.det_full_module_name()
for external modules (#1360) - fix
EasyConfig.all_dependencies
definition, fix tracking of job dependencies (#1359, #1361) - fix
ModulesTool.exist()
for hidden Lua module files (#1364) - only call
EasyBlock.sanity_check_step
for 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_step
inConfigureMakePythonPackage.configure_step
(#668) - add ‘
foldx3b6
‘ as possible binary name in FoldX easyblock (#671) - enhance/cleanup MATLAB easyblock (#672)
- move preparing of ‘
intel
‘ subdir in$HOME
toconfigure_step
inIntelBase
easyblock (#673)
- various bug fixes, including:
- add missing super call in
post_install_step
of imkl easyblock (#648, #660) - fix regex used to correct
I_MPI_ROOT
in impimpivars.sh
scripts (#662) - fix regex used to patch
.mk
file in configure step of SuiteSparse easyblock (#666) - correctly specify installation prefix via
$GEM_HOME
inRubyGem
easyblock (#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
/installdir
templates 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.path
to avoid thatsetup.py
for 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.py
script (#1290) - reset keep toolchain component class ‘constants’ every time (#1294)
- make
--strict
also a build option (#1295) - fix purging of loaded modules in unit tests’ setup method (#1297)
- promote
MigrateFromEBToHMNS
to a ‘production’ MNS (#1302) - add support for
--read-only-installdir
and--group-writable-installdir
configuration 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
/-l
is used (#1298) - stop making
ModulesTool
class 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_pylibdir
function 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.sh
script (#630) - update Clang easyblock to disable tests that may fail when unlimited stack size is used (#622)
- fix setting of
$INTEL_LICENSE_FILE
for 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_paths
in 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-gpfs
configopt 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-only
is 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.py
script w.r.t. dependencies marked as external modules (#1273) - only use
$LMOD_CMD
value iflmod
binary can’t be found in $PATH (#1275) - fix location of
module_only
build option w.r.t. default value (#1277) - fix combined use of
--hide-deps
andhiddendependencies
(#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_TYPE
if ‘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.25
andCrayGNU/5.2.40
toolchains (#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-syntax
configuration option and Module files syntax (–module-syntax)
- see
- deprecate
log.error
method in favor of raisingEasyBuildError
exception (#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.,
--search
output) (#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_PRELOAD
when 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-deps
configuration option to specify names of software that must be installed as hidden modules (#1250) - add support for appending/prepending to
--robot-paths
to avoid overwriting default robot search path (#1252) - enable detection of use of unknown
$EASYBUILD
-prefixed environment variables (#1253) - add
--installpath-modules
and--installpath-software
configuration options (#1258) - use dedicated subdirectory in temporary directory for each test to ensure better cleanup (#1260)
- get rid of
$PROFILEREAD
hack when running commands, not needed anymore (#1264)
- clear list of checksums when using
- various bug fixes, including:
- make bootstrap script robust against having
vsc-base
already available in Python search path (#1212, #1215) - set default value for unpack_options easyconfig parameter to
''
, soself.cfg.update
works on it (#1229) - also copy rotated log files (#1238)
- fix parsing of
--download-timeout
value (#1242) - make
test_XDG_CONFIG_env_vars
unit test robust against existing user config file in default location (#1259) - fix minor robustness issues w.r.t.
$XDG_CONFIG*
and$PYTHONPATH
in 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
$PYTHONNOUSERSITE
in 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
-noroot
for recent FLUENT versions, honorinstallopts
, enable-debug
(#582) - include
prebuildopts
in build command for Python packages (#585) - also install
rosetta_tools
subdirectory 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
-libmpichf90
to list of MPI libraries in NWChem easyblock (#584) - stop using ‘
$root
‘ to make easyblocks compatible with module files in Lua syntax (#590) - also set
$PYTHONPATH
before installing Python package in temporary directory intest_step
(#591) - unset
buildopts
/installopts
before 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_environ
rather thanself.orig_environ
in EasyBuildMeta easyblock (#600) - make GCC easyblock compatible with
--module-only
by setting default value forself.platform_lib
in 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_PRELOAD
for 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
pic
toolchain 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-verbs
rather than deprecated--with-openib
in OpenMPI configure options (#1511) - stop relying on
OS_NAME
constant 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
message
attribute (vsc-base#155) - fix typo in log message rendering
--ignoreconfigfiles
unusable (vsc-base#158)
- avoid deprecation warnings w.r.t. use of
- removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
- see Removed functionality
- the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (#1151, #1206, #1207)
- for more information about this script, see fix_broken_easyconfigs.py
- stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
- vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
- see Required Python packages
- various other enhancements, including:
- add support for Linux/POWER systems (#1044)
- major cleanup in
tools/systemtools.py
+ significantly enhanced tests (#1044) - add support for ‘
eb -a rst
‘, list available easyconfig parameters in ReST format (#1131) - add support for specifying one or more easyconfigs in combination with
--from-pr
(#1132) - define
__contains__
in EasyConfig class (#1155) - restore support for downloading over a proxy (#1158)
- i.e., use
urllib2
rather thanurllib
- this involved sacrificing the download progress report (which was only visible in the log file)
- i.e., use
- let
mpi_family
returnNone
if 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.sh
script 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_pr
test 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.error
intools/toolchain/toolchain.py
where applicable (#1145) - stop hardcoding
/tmp
inmpi_cmd_for
function (#1146, #1200) - correctly determine variable name for
$EBEXTLIST
when 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_matches
function 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
$MODULEPATH
directly insetUp
/tearDown
of toolchain tests (#1191)
easyblocks
- one new generic easyblock for installing a bundle of modules:
Bundle
(#550)- and let the
Toolchain
generic easyblock derive fromBundle
- and let the
- new easyblocks for 2 software packages that require customized support:
- various other enhancements, including:
- move support for
staged_install
from CPLEX easyblock to genericBinary
easyblock (#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_libint2
easyblock intoEB_Libint
that 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
preconfigopts
easyconfig 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
$LDSHARED
in 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_options
keys are defined inEasyConfig
instance (#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.eb
easyconfig (#1448) - use
Bundle
generic 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_urls
in Python easyconfigs (#1306) - consistently use CLooG 0.18.0 for GCC 4.8 series (#1392)
- rename GenomeAnalysisTk easyconfigs to GATK (#1399)
- include
openssl-devel
SLES11 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_EasyBuildMeta
easyblock 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.0
or 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.0
is 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
ConfigureMake
easyblock (#1113)- easyconfigs should specify
easyblock = 'ConfigureMake'
instead of relying on the fallback mechanism - note: automagic fallback to
ConfigureMake
easyblock 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
-xHost
when using Intel compilers on AMD systems (as opposed to-msse3
) (#960) - add Python version check in
eb
command (#1046) - take
versionprefix
into account inHierarchicalMNS
module naming scheme (#1058) - clean up and refactor
main.py
, move functionality to other modules (#1059, #1064, #1075, #1087) - add check in
download_file
function 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
,ipsmpi
toolchains (#1072, #1073)- support for Parastation MPI based toolchains
- enforce that
hiddendependencies
is 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_hidden
foravail
subcommand with recent Lmod versions (#1081) - add
--robot-paths
configure option (#1080, #1093, #1095, #1114) - support use of
%(DEFAULT_ROBOT_PATHS)s
template in EasyBuild configuration files (#1100)- see also Controlling the robot search path
- use
-xHost
rather than-xHOST
, to match Intel documentation (#1084) - update and cleanup
README
file (#1085) - deprecate
self.moduleGenerator
in favor ofself.module_generator
inEasyBlock
(#1088) - also support
MPICH
MPI family inmpi_cmd_for
function (#1098) - update documentation references to point to http://easybuild.readthedocs.org (#1102)
- check for OS dependencies with both
rpm
anddpkg
(if available) (#1111)
- add script to clean up gists created via
- various bug fixes, including:
- fix picking required software version specified by
--software-version
and clean uptweak.py
(#1062, #1063) - escape
$
characters in module load message specified viamodloadmsg
easyconfig 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_file
function (#1096) - don’t hardcode queue names when submitting a job (#1106)
- fix affiliation/mail address for Fotis in headers (#1105)
- filter out
/dev/null
entries in patch file indet_patched_files
function (#1108) - fix
gmpolf
toolchain definition, to havegmpich
as 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
gmpolf
module, 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_impi
easyblock to correct behavior of MPI wrapper commands (#493) - consider both
lib
andlib64
in sanity check for GROMACS (#501) - take
preinstallopts
andinstallopts
into account inBinary
easyblock (#503) - add sanity check command
abaqus information=all
for ABAQUS (#504) - update and clean up
README
, refer to http://easybuild.readthedocs.org documentation (#505, #516) - rename deprecated
self.moduleGenerator
toself.module_generator
(#506)- see also easybuild-framework#1088
- check whether specified
type
value is a known value (psmp
orpopt
) in CP2K easyblock (#509) - add support to
SAMtools
easyblock for installing recent versions (v1.x) (#512) - fix version check + sanity check in Geant4 easyblock + style fixes (#517)
- added
$root/modlib
to$PYTHONPATH
guesses in Modeller easyblock (#525) - mark
license
custom easyconfig parameter as deprecated inIntelBase
(#527)
- various bug fixes, including:
- fix Libxc version check in CP2K easyblock (#478)
- correctly specify
mkl_libs
when building numpy with GCC and imkl (#485) - extend noqa for OpenFOAM-Extend in build_step (#488, #520)
- correctly set
$LD_LIBRARY_PATH
,$LIBRARY_PATH
and$PKG_CONFIG_PATH
forR
(#495) - fix default value for
files_to_copy
inMakeCp
easyblock (#500) - treat
MPICH
MPI 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_options
methods, avoid casting return value todict
or 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
,premakeopts
andshared_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_threads
libraries, 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
gmpolf
toolchain w.r.t. MPICH software name (#1217)- see also easybuild-framework#1112
- fix
source_urls
for WRF and WPS (#1225) - fix and clean up GATE easyconfigs (#1228)
- fix broken CLHEP builds by including
-gcc
in$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
$MODULEPATH
extensions for Clang/CUDA, to makegoolfc
/cgoolf
compatible withHierarchicalMNS
(#1050) - include
versionsuffix
in 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_NAME
obtained fromClangGCC
in Clang-based toolchains (#1053) - fix wrong code in
path_to_top_of_module_tree
function (#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
$MODULEPATH
with the same path, when determining path to top of module tree (see #1047)- this bug caused a load statement for either
icc
orifort
to be included in higher-level modules installed with an Intel-based compiler toolchain, under theHierarchicalMNS
module naming scheme
- this bug caused a load statement for either
- make
HierarchicalMNS
module naming scheme compatible withcgoolf
andgoolfc
toolchain (#1049) - add definition of
iompi
(sub)toolchain to makeiomkl
toolchain 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
iimpi
toolchain definition (#993) - prepend robot path with download location of files when
--from-pr
is used (#995) - add support for excluding module path extensions from generated modules (#1003)
- see
include_modpath_extensions
easyconfig parameter
- see
- add support for installing hidden modules and using them as dependencies (#1009, #1021, #1023)
- see
--hidden
andhiddendependencies
easyconfig parameter
- see
- stop relying on
conflict
statement in module files to determine software name of toolchain components (#1017, #1037)- instead, the
is_short_modname_for
method 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-run
output (#1034) - fix interaction between
--force
and--try-toolchain --robot
(#1035) - add
--software
option, disable recursion for--try-software(-X)
(#1036)
- fetch extension sources in fetch_step to enhance
- various bug fixes, including:
* fix
HierarchicalMNS
crashing 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-toolchains
output (#993) * filter out load statements that extend the$MODULEPATH
to make the module being installed available (#1016) * fix conflict specification included in module files (#1017) * avoid--from-pr
crashing hard unless--robot
is used (#1022) * properly quote GCC version string in archived easyconfig (#1028) * fix issue with--repositorypath
not 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
lib
andlib64
directories 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 avail
significantly faster, and correctly handling aprepend-path
statement 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
modulecmd
segmentation 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
EasyBuildModuleNamingScheme
toEasyBuildMNS
- 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.py
for abstractModuleNamingScheme
class - 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.2
inCore
subdir,OpenMPI/1.6.5
inCompiler/GCC/4.7.2
subdir
- example:
- make
ModuleNamingScheme
class a singleton, move it intoeasybuild.tools.module_naming_scheme.mns
module - implement
ActiveMNS
wrapper 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_mpi
ineasybuild.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
ModulesTool
a singleton to avoid repeating module commands over & over again needlessly - use
module use
,module unuse
rather than fiddling with$MODULEPATH
directly - 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:
intel
andfoss
(#956) - implement caching for easyconfig files, parsed easyconfigs and toolchains (#953)
- enable
--ignore-osdeps
implicitely when-D
,--dry-run
or--dep-graph
are used (#953) - flesh out
use_group
anddet_parallelism
function, 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
optarch
toolchain 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_step
andprebuildopts
/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-X
command 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
--try
specifications- 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 --robot
also work whenfoo
has 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-pr
command line option for downloading easyconfig files from pull requests - add
--upload-test-report
command 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
makeopts
andpremakeopts
easyconfig parameter are deprecated, and replaced bybuildopts
andprebuildopts
(#918)- both
makeopts
andpremakeopts
will still be honored in future EasyBuild v1.x versions, but should no longer be used
- both
- various other enhancements, including:
- add
--disable-cleanup-builddir
command 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-builddir
is 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_PATH
and$LIBRARY_PATH
(#912) - reorganize support for file/git/svn repositories into
repository
package, making it extensible (#913) - add support for
postinstallcmds
easyconfig 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_dir
can be set based on location of unpacked first source file (#931) - the
vsc
package 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
deprecated
logging function now does a non-strict version check (rather than an erroneous strict check) - the
easybuild.tools.agithub
module is removed,vsc.utils.rest
now provides the required functionality
- fix support for unpacking gzipped source files, don’t unpack
.gz
files 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_prefix
easyconfig 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
MakeCp
generic 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
$DISPLAY
is unset) (#391) - fix permissions of installed files in SAMtools easyblock, ensure read/execute for group/other (#409)
- fix implementation of
det_pylibdir
function in PythonPackage generic easyblock (#419, #420)- determine Python lib dir via
distutils
Python, 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_name
function - 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.tcl
module tools (#869) - added support to
run_cmd_qa
function to supply a list of answers (#887) - detect mismatch between definition of
module
function and selected modules tool (#871)- allowing mismatch now requires
--allow-modules-tool-mismatch
; an emptymodule
function 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.py
rather 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_options
static method (#893, #894) - move OS dependency check to
systemtools.py
module (#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
-lcudart
if 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
-fPIC
in 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_CMD
specified full path to lmod binary, butspider
binary 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
--robot
is 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,
--deprecated
and--oldstyleconfig
command 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_PATH
in generated module files (#832) - more constants for source URLs (e.g. for downloads from bitbucket) (#831)
- prefer
$XDG_CONFIG_HOME
and~/.config/easybuild
over~/.easybuild
for configuration files (#820) - add support for specifying footers to be appended to generated module files (#808)
- see
--modules-footer
command line option
- see
- track version of modules tool + cleanup of
modules.py
(#839) - move actual
run_cmd
andrun_cmd_qa
implementations fromtools.filetools
intotools.run
(#842, #843) - add support for generating modules that support recursive unloading (#830)
- see
--recursive-module-unload
command 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
--experimental
to 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
cleanupoldbuild
easyconfig parameter is set (#809) - fix support for different types of repository path specifications (#814)
- fix unit tests sensitive to
$MODULEPATH
and 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
makeopts
in the build step of the genericPythonPackage
easyblock (#352) - define the
$CMAKE_INCLUDE_PATH
and$CMAKE_LIBRARY_PATH
in the genericCMakeMake
easyblock (#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
VersionIndependentPythonPackage
easyblock, deprecateVersionIndependendPythonPackage
easyblock (#348) - fix detection of machine architecture in FSL easyblock (#353)
- fix bug in NWChem easyblock w.r.t. creating local dummy
.nwchem
file (#360) - make sure
$LIBRARY_PATH
is 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
--tmpdir
command line option (#695) - add support for computing and verifying source/patch file checksums (#774, #777, #779, #801, #802)
- cfr.
checksums
easyconfig parameter
- cfr.
- add support for eb –confighelp, which prints out an example configuration file (#775)
- add initial support for
eb
tab 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-whatis
field of module
- ignore Lmod spider cache by setting
- add
--dry-short-short
/-D
and--search-short
/-S
command 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)s
and%(nameletterlower)s
templates (#793) - add
buildininstalldir
easyconfig parameter (#794) - add
--ignore-osdeps
command line option (#799, #802)
- set unique default temporary directory, add
- various bug fixes, including:
- enable
-mt_mpi
compiler flag if bothusempi
andopenmp
toolchain 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.py
to adhere more to PEP8 (#789) - make sure
easyblock
easyconfig 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
preinstallopts
in genericPythonPackage
easyblock (#334) - enhance CP2K easyblock (libxc support, new versions) + style cleanup (#336)
- various bug fixes:
- use unwanted env var functionality to unset
$MKLROOT
rather than failing with an error (#273) - always include
-w
flag for preprocessor to supress warnings that may break QuantumESPRESSO configure (#317) - link with multithreaded LAPACK libs for ESMF (#319)
- extend
noqanda
list of patterns in CUDA easyblock (#328, #337) - add
import _ctypes
to Python sanity check commands to capture a common build issue (#329) - bug fixes in generic
IntelBase
easyblock (#331, #333, #335)- remove broken symlink
$HOME/intel
if present - fix use of gettempdir to obtain a common (user-specific) tmp dir to symlink
$HOME/intel
to
- 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/.nwchemrc
symlink (#340, #342) - extend
noqanda
list 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
/_ctypes
issues (#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-config
shebang (#642) - make sure HDF easyconfigs specify dedicated
include/hdf
include 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/hdf
toinclude
- 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.tcl
can 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
vsc
subdirectory) (#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_count
function is now deprecated
- the
- add
impmkl
toolchain 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_libdir
function 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_for
function (#761)
- include a full version of vsc-base (see the
- various bug fixes, including:
- fix checking of OS dependencies on Debian/Ubuntu that have
rpm
command available (#732) - make unit tests more robust w.r.t. non-writeable
/tmp
and loaded modules prior to starting unit tests (#752, #756) - also call
EasyBlock
‘s sanity check inExtensionEasyblock
if 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
--prefix
option (#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
$CPATH
in libint2 easyblock (#300) - fix
extra_options
super
call 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
None
value (#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’
ModuleNamingScheme
class can be provided to EasyBuild- the Python module providing the class must be available in the
easybuild.tools.module_naming_scheme
namespace - a function named
det_full_module_name
must 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
/toolchain
easyconfig 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_permissions
function (#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_module
function 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
$LDFLAGS
and$INSTANT_*_DIR
env 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-emacs
configure 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
$ACLOCAL
if a share/aclocal subdir is found (#670) - add
unwanted_env_vars
easyconfig 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-run
command line option which prints installation overview for specified easyconfig files (#677)
- various bug fixes, including:
* ensure that all extensions are listed in
$EBEXTSLISTX
set by module, also when using--skip
(#671) * report reason for failed sanity check for extensions (#672, #678) * fix--list-toolchains
command 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_suffix
function (#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_FILE
for Intel tools, if it is set (#243) * note: gets preference overlicense_file
easyconfig parameter
- various bug fixes:
- call WRF build script with ‘
tcsh <script>
to ensure that tcsh available in$PATH
is 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
noqanda
patterns 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_SEEK
compiler flag for Mothur when MPI support is enabled (#222) - fix Boost sanity check, only check for
libboost_python.so
if Python module is loaded (#223) - enhance Trinity support w.r.t. jellyfish (#225, #227)
- fix checking for
beagle-lib
dep (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.0
andgmvolf/1.7.12
toolchain 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
pic
toolchain 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_EXT
constant for shared library extension (.so
,.dylib
), deprecateshared_lib_ext
global var (#630) - enhance support for sanity checking extensions (#632, #649)
- add support for
modextrapaths
easyconfig parameter (#634, #637) - allow
source_urls
to 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.py
w.r.t. changes in GitHub API (user-agent string is now obligatory for non-authenticated connections) (#617) - fix typo breaking the
adjust_cmd
decorator on SuSE (#615) - fix prepending paths with absolute paths in module file (#621)
- clean up open file handles properly (#620, #624)
- fix
--search
help 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_step
parameterbuilddir
was renamed tosrcdir
, because the namebuilddir
is incorrect (#151)builddir
will 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
$DISPLAY
is 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-toolchains
for 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-default
configure 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
--search
also 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.cfg
forsetup.py
to 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_safe
flag tosetup.py
, to silence multitude of warnings (#521) * only defineLIBFFT
for 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 theskipsteps
easyconfig parameter into account in regression testing mode as well (#583)
easyblocks
- added support for 2 new software packages that require customized support:
- remove
license
easyconfig parameter fromIntelBase
, since it clashes with genericlicense
parameter (#153, #158)license_file
should be used instead (see framework#569)- using
license
instead oflicense_file
will be supported until v2.x for legacy purposes
- various enhancements, including:
- stop hardcoding Python site-packages library dir, obtain it via
distutils.sysconfig
instead (#141, #156, #159, #161) - stop hardcoding list of libraries for BLAS libs, ask toolchain modules or use
$LIBBLAS
instead (#150, #155) - enhanced CP2K easyblock, following Intel guidelines for
ictce
builds (#138) - added
setup.cfg
forsetup.py
to 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_safe
flag 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-multiple
instead of--enable-mpi-threads
- explicitely add
--without-openib --without-udapl
configure 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-udapl
from 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_file
in Intel tools easyconfigs, as opposed to the new genericlicense
parameter with a different meaning (#180) - modify patch for impi to avoid installation problems due to hardcoded path in /tmp (#185)
- now uses
$USER-$RANDOM
subdir 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_filter
andexts_list
easyconfig 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
eb
command 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
name
andversion
used in exts_filter toext_name
,ext_version
name
andversion
are 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
modulecmd
is run with original$LD_LIBRARY_PATH
value- 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
ModuleGenerator
deconstructor, clean up viaEasyBlock.clean_up_fake_module
- fix disabling of
optarch
toolchain 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_for
instead 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_name
template name inexts_filter
in 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
sanityCheckOK
inToolchain
easyblock - 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.generic
namespace 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
optarch
for 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
ExtensionEasyblock
class 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_list
was 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
,iomkl
andismkl
toolchains - define
*_SEQ compiler
variables for sequential compilers - add
--list-toolchains
command 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
modulename
to False in options)
- various bug fixes, including:
- typos in toolchain Python modules w.r.t.
imkl
support, handling ofi8
/optarch
/unroll
options - 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
$TMPDIR
for builds submitted as jobs (required byIntelBase
easyblock) - 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_dir
andbuild_path
(only latter matters) - fix SuSe hack, only prefix command with sourcing of
/etc/profile.d/modules.sh
if 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.py
easyblock:- merge
EB_DefaultPythonPackage
andPythonPackage
easyblocks into generic easyblockPythonPackage
, which derives fromExtensionEasyblock
- move
EB_FortranPythonPackage
into dedicated genericFortranPythonPackage
easyblock module - split off support for building/installing
nose
,numpy
,scipy
into dedicatedEB_*
easyblock modules, which allows them to be built as stand-alone modules as well
- merge
- clean up testing of Python packages (
PythonPackage
easyblock) - make sure there is no
site.cfg
in home dir when building Python packages, because e.g.scipy
will 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 ptcheck
for 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
parallel
versionsuffix 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.py
so 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_qa
from 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 install
doesn’t work consistently for GMP
- fix GCC build on OS X
- location of libraries is slightly different (
lib
vslib64
dir)
- location of libraries is slightly different (
- add support to
ConfigureMake
easyblock for pre-passing tar options to configure- see
tar_config_opts
easyconfig parameter - workaround for issue with pax hanging
configure
with an interactive prompt
- see
- enhance Q&A for WRF and WIEN2k by adding entries to
qa
dict andno_qa
list - use
rmtree2
fromtools/filetools.py
as more (NFS) robust replacement forshutil.rmtree
easyconfigs
- remove patch file for OpenMPI to resolve issue with pax hanging configure
tar_config_opts
should 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
Application
intoEasyBlock
andConfigureMake
(see easybuild-easyblocks for the latter) - created
EasyConfig
class for handling easyconfig files - renaming of EasyBuild configuration parameters (non-camelCase)
- renaming of various easyconfig parameters (non-camelCase)
- rename
SOFTROOT
andSOFTVERSION
environment variables set in generated module files toEBROOT
andEBVERSION
- 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
toolkit
module withtoolchain
package (total rewrite), providing modular support for toolchains - adjust default EasyBuild configuration to only use
$HOME/.local/easybuild
by 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
INTERFACE
andTRANSCOMM
values 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-threads
to 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