Package Management & Reproducibility

Project ideas related to reproducibility and package management, especially as it relates to store type package managers (NixOS, Guix or Spack).

Lead Mentor: Farid Zakaria mailto:fmzakari@ucsc.edu

Investigate the dynamic linking landscape

  • Topics: Operating Systems Compilers Linux Package Management NixOS
  • Skills: Experience with systems programming and Linux familiarity
  • Difficulty: Moderate to Challenging
  • Size: Large (350 hours)
  • Mentors: Farid Zakaria & Tom Scogland mailto:scogland1@llnl.gov

Dynamic linking as specified in the ELF file format has gone unchallenged since it’s invention. With many new package management models that eschew the filesystem hierarchy standard (i.e. Nix, Guix and Spack), many of the idiosyncrasies that define the way in which libraries are discovered are no longer useful and potentially harmful.

Specific tasks:

  • Continue development on Shrinkwrap a tool to make dynamic library loading simpler and more robust.
  • Evaluate it’s effectiveness across a wide range of binaries.
  • Upstream contributions to NixOS or Guix to leverage the improvement when suitable.
  • Investigate alternative improvements to dynamic linking by writing a dynamic linker “loadder wrapper” to explore new ideas.