Conference call notes 20230215 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 216th EasyBuild conference call, Wednesday 15 February 2023 (16:00 UTC)

Attendees

List of attendees (18):

  • Simon Branford (Univ. of Birmingham, UK)
  • Alex Domingo (Vrije Universiteit Brussel, Belgium)
  • Em Dragowsky (Case Western Reserve University, Ohio, US)
  • Frank Everdij (TU Delft, Netherlands)
  • Jasper Grimm (University of York, UK)
  • Jorge Guerra (Universidad Politécnica de Madrid, Spain)
  • Thomas Hayward-Schneider (Max Planck Institute for Plasma Physics (IPP))
  • Thomas Hoffman (EMBL Heidelberg, Germany)
  • Kenneth Hoste (HPC-UGent)
  • Adam Huffman (Big Data Institute, Oxford, UK)
  • Sebastien Moretti (SIB, Switzerland)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Alan O'Cais (CECAM)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bart Oldeman (Digital Research Alliance of Canada)
  • Jurij Pečar (EMBL, Germany)
  • Alexandre Strube (JSC, Germany)
  • Alain van Hoof (TU Eindhoven, Netherlands)

Agenda

  • overview of recent developments + outlook to next EasyBuild release
  • Q&A

Recent developments

  • release timeline
    • latest release: EasyBuild v4.7.0 (9 Jan 2023)
    • ETA next release (EasyBuild v4.7.1): mid Feb'23
  • recent changes
    • framework
      • bug fixes
        • check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (PR #4184)
        • silence distutils deprecation warnings (PR #4204)
        • improve handling of start_dir and add tests for cases where either ext_dir or initial start_dir or both are unset or None (PR #4206)
        • restore initial environment before processing each easystack item (PR #4213, fixes issue #4194)
      • enhancements
        • skip directories when fixing shebangs (PR #4209 )
        • allow to directly import constants from easybuild.framework.easyconfig.constants (PR #4144)
      • changes
        • ...
      • docs
        • ...
    • easyblocks
      • bug fixes
        • fix error when failing PIP version check during PythonPackage sanity check (PR #2877)
        • use older ncgen -H for older netCDF (PR #2889)
          • fixes: new sanity check commands for netCDF break build of older netCDF (PR #2888)
      • enhancements
        • ...
      • updates
        • ...
      • changes
        • ...
      • new software
        • ...
    • easyconfigs
      • ~50 easyconfig PRs were merged since last conf call
      • bug fixes
        • fix build of TensorFlow 2.5+ on aarch64 #17101 (PR #17101)
        • include required stereo_chemical_props.txt for OpenFold 1.0.1 (PR #17242)
        • also update $PERL5LIB for RepeatMasker v4.1.4 (PR #17245)
        • add missing pkgconf build dependency in recent libxslt easyconfigs (PR #17254)
        • add alternative source_url for MariaDB > 10.4 (PR #17250)
        • remove use of rysnc in building Kent_tools (PR #17252)
        • allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (PR #17289)
        • remove duplicate SlamDunk easyconfig using lowercase name (PR #17301)
        • fix postinstallcmds in shovill easyconfigs (PR #17279)
        • add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (PR #17257)
        • add pmix patch to iomkl OpenMPI 4.1.1 (PR #17240)
      • enhancements
        • add ffnvcodec as build dependency in FFmpeg 5.0.1 (PR #17271)
        • add patch for PAPI 7.0.0 to fix compilation error (PR #17244)
        • add ffnvcodec build dependency to all recent FFmpeg easyconfigs (PR #17316)
        • set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (PR #17216)
      • (noteworthy) new software
        • ...
      • noteworthy software updates
        • ...
      • changes
        • fix invalid escape sequences in easyconfigs by using raw strings (r"...") (PR #11149)
  • work in progress
    • framework
      • reported bugs / bug fixes
        • Python packages are being installed to local/lib/python*/dist-packages due to tweaks to sysconfig.py in OS (issue #4128)
        • detect if there are .mod files for GCCcore installs (issue #4203)
        • tests that require GitHub token are always skipped in CI due to silly typo in GitHub Actions workflow (issue #4214)
      • enhancements
        • fixes/enhancements w.r.t. checksums (PR #4159, PR #4150, PR #4164)
        • allow to directly import EasyConfig constants from the module (PR #4144)
        • add pre/post extension hook (triggered before/after individual extension installations) (PR #4193, fixes issue #4191)
        • enhance documentation of checksums easyconfig parameter (docs PR #853)
        • add option to silence deprecation warning of easyconfigs and toolchains (PR #4207)
        • add warning whenever a value with a template is replaced by a value without template (PR #4212)
      • changes
        • ...
    • easyblocks
      • bug reports/fixes
        • fix finding of failed tests in output of PyTorch test step (PR #2859)
        • fix JULIA_DEPOT_PATH in installation of multiple JuliaPackage extensions (PR #2869)
        • handle templating correctly in CMakeMake when playing with configopts (PR #2882)
        • show template values of exts_default_options in PythonBundle (PR #2874)
        • fix missing initialization of CMakeMake in CMakePythonPackage (PR #2876)
        • fix CMake configopts when iterating (multiple builds) (PR #2885)
        • fix check configure option in FlexiBLAS easyblock (PR #2886)
        • avoid crash in test step of PyTorch easyblock if runtest is not a command (PR #2883)
      • enhancements
        • modified the logic to find the PyQt5 sipdir in more places (PR #2868)
        • use -x option for "go install" in GoPackage generic easyblock (PR #2878)
      • updates
        • update scipy easyblock for scipy >= 1.9 to correctly configure BLAS/LAPACK library to use via Meson (PR #2862)
        • fix TensorFlow easyblock for new versions of Bazel & TensorFlow (PR #2854)
        • update ESMF easyblock for versions >= 8.4, due to changed structure and naming of their Python bindings (PR #2875)
      • new software
        • ...
      • changes
        • add deprecation notice to RPackage extensions with relative paths in start_dir (PR #2879)
    • easyconfigs

EasyBuild User Meeting 2023

Q&A

  • R 4.2.2 with foss/2022b (easyconfigs PR #17200)
    • blocked by SciPy-bundle
  • UCC-CUDA with CUDA 12.0.0, see PR #17255
    • included patch works to build, but ucc_info -c segfaults
    • Bart volunteers to take a closer look
  • proposal to make EasyConfig.__setitem__ produce a warning when it receives a string value that still includes unresolved templates
    • cfr. framework PR #4212
    • Alex: this results in lots of warnings being printed, for example when using --inject-checksums
    • so not a good idea, in its current form at least
    • some templates can only be resolved later in the installation process, like %(pyver)s only after Python is loaded as dependency
    • making EasyConfig.__setitem__ aware of enable_templating boolean makes no sense, deciding whether or not non-templated string value must be used needs to be made higher up (see also https://github.com/easybuilders/easybuild-easyblocks/pull/2882);
    • there's also related open framework PRs on this, see framework PR #3285
  • Adam: should we start requiring the use of PythonBundle over PythonPackage in easyconfig PRs?
    • see also easyconfigs issue #15639
    • Kenneth: not until:
      • choice of favoring PythonBundle is documented (with motivation);
      • easyconfigs test suite includes a check that fails if PythonPackage is used directly;
    • there may also be valid reasons to stick to PythonPackage, to avoid that the easyconfig becomes too messy;