Skip to content

Sync meeting on EESSI version 2025.06 (2025 06 06)

Bob Dröge edited this page Jun 6, 2025 · 2 revisions

Attendees: Bob, Pedro, Thomas, Alan, Kenneth

Current status

  • Gitlab/support issue: https://gitlab.com/eessi/support/-/issues/56
  • WIP PR for compat layer: https://github.com/EESSI/compatibility-layer/pull/209
    • Was successfully built on aarch64, x86_64, riscv64
    • Uses GCC 13, build with GCC 14 failed on riscv64
      • Stick to GCC 13
      • 13.4.0 has been released just now (2025-06-05)
    • No ld.gold anymore (should be fine)
    • Note: for RISC-V we need a Debian 13 container
      • sticking to same build container for everything makes more sense
      • using too recent kernel (headers) in build container could be trouble
        • kernel version in Debian 13 would be quite recent...
      • Debian 11 is EOL since Aug'24, but not a huge problem for now
      • we can migrate to a newer version of Debian at a later stage
      • => better to stick to Debian/11 for aarch64/x86_64
  • WIP PR for package set: https://github.com/EESSI/gentoo-overlay/pull/108
  • All custom ebuilds were updated to the latest version in January/February

TODO

Compatibility layer

  • [Bob] Bump (some) packages once more?
    • direnv 2.35.0 -> 2.36.0
    • lmod 8.7.55 -> 8.7.60 (in Gentoo repo)
    • sssd 2.10.1 -> 2.10.2 / 2.11.0
    • munge 0.5.15 -> 0.5.16 (see ComputeCanada repo)
  • [BD] More glibc trusted dirs
    • Currently: /cvmfs/{{ cvmfs_repository }}/host_injections/{{ eessi_version }}/compat/{{ eessi_host_os }}/{{ eessi_host_arch }}/lib
    • Suggested by Alan: one more subdirectory ->
      • /cvmfs/{{ cvmfs_repository }}/host_injections/{{ eessi_version }}/compat/{{ eessi_host_os }}/{{ eessi_host_arch }}/lib/{override,nvidia,amd}
      • order of subdirectories matters (lib/amd should be preferred over lib/nvidia on an AMD node)
        • => lib/override could be symlink to lib/amd
    • Do we need additional ones?
      • No
      • our host_injections could point to a variant symlink path in site-specific CVMFS repo to allow node-specific injections of libraries
    • What needs to happen to make this change?
  • Solve PMIx/munge issue, see https://github.com/EESSI/compatibility-layer/issues/216
    • Install munge in compat layer?
      • seems to make sense, cfr. ComputeCanada compat layer
      • could there be a conflict with the munge version used by Slurm?
      • => yes, using latest version (0.5.16) based on ComputeCanada's ebuild
  • Richard requested some dependencies for shs-libcxi-1.7.0
    • FUSE-2.9.9
      • Does this even work?
    • lm-sensors-3.6.0
    • => Richard got things to work purely via modules, including FUSE in compat layer doesn't seem like best approach?
  • Would it make sense to add keyrings.alt (see https://github.com/easybuilders/easybuild/issues/919)?
    • => No (not much added value, need to create Python venv anyway)
    • => also remove dev-python/gitpython and dev-python/keyring
  • Do we need additional testing, or do we just ingest this (and test it by installing some software on top)?
    • Let's skip this, we'll test it in the production repo
    • Make sure to trigger builds for all of the three architectures at the same time
  • Which build container do we use?
    • RISC-V requires Debian 13
    • For the others we usually use Debian 11 => stick to that fo x86_64/aarch64
  • Do we ingest the riscv64 compat layer to software.eessi.io?
    • important to build compat layer at same time for all 3 CPU families

Software layer

  • [Alan] Hook that prevents building older GCC versions for 2025.06
    • implement whitelist of valid combos of EESSI/GCC version in parse hook
  • [Kenneth] Move easystacks to a separate repository, see #139
    • move scripts/hooks to EESSI/software-layer-scripts ?
      • only main branch
      • can be done with keeping Git history
    • keep EESSI/software-layer repo for easystack files
      • separate branches for 2023.06 vs 2025.06
      • no change to contribution workflow
      • bot/build.sh script just clones EESSI/software-layer-scripts + makes symlinks?
  • [BD/CvL/Kenneth] Implement stack reproducibility improvements described at https://gitlab.com/eessi/support/-/issues/145#note_2437292887 before we actually start installing software
    • Ensures that we will be able to easily add new CPU targets later
  • $EASYBUILD_READ_ONLY_INSTALLDIR=1 has caused issues (e.g. for rebuilds and catalog files), do we keep this setting?
    • read-only install dirs are used for a good reason, mainly to prevent Python bindings being installed in Python install dir;
    • Alternative: additional checks in create_tarball.sh
    • annoyance w.r.t. creation of catalog files during cvmfs_server ingest based on dirtab
      • not a problem when root is owner of the repo (unclear why);
      • could be considered a bug in CernVM-FS?
    • for trouble with rebuilds (due to problem/bug in overlay-fs)
      • see https://github.com/EESSI/software-layer/issues/556
      • trouble with rebuilding on A64FX or Grace, since those don't support --fakeroot
      • can bind mount /cvmfs/software.eessi.io in container rather than using overlay-fs
        • imposes new requirement on build node, has to have EESSI available
        • tricky to implement...
        • relies on EESSI being on the host
          • maybe not a bad thing to leverage that if it's available: using cache of host, but also implies assuming that sync of private Stratum 1 happens frequently enough
      • maybe can bwrap be an escape too?
        • does that work in a container?
        • relies on user namespaces
  • update hooks to consider multiple paths for injecting libmpi.so:
    /cvmfs/software.eessi.io/host_injections/.../lib/OpenMPI/5.1/
    /cvmfs/software.eessi.io/host_injections/.../lib/OpenMPI/5/
    /cvmfs/software.eessi.io/host_injections/.../lib/OpenMPI/
    /cvmfs/software.eessi.io/host_injections/.../lib/
    

Breakdown of tasks

  • [Bob] building compat layer for EESSI 2025.06
  • [Kenneth,Alan] split off code from EESSI/software-layer into EESSI/software-layer-scripts
  • [Bob,Kenneth,Caspar] reprod via EasyBuild hook
  • [Kenneth,Alan] (to build on top of OpenMPI) update hooks to introduce version-specific subdirs in host_injections

Other

  • Next meeting: Fri 13 June, 9:00

Clone this wiki locally