Bridging the Gap Between Binary and Source Based Package Management in Spack

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Gouwar, John, Becker, Gregory, Dahlgren, Tamara, Hanford, Nathan, Guha, Arjun, Gamblin, Todd
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866914029995294720
author Gouwar, John
Becker, Gregory
Dahlgren, Tamara
Hanford, Nathan
Guha, Arjun
Gamblin, Todd
author_facet Gouwar, John
Becker, Gregory
Dahlgren, Tamara
Hanford, Nathan
Guha, Arjun
Gamblin, Todd
contents Binary package managers install software quickly but they limit configurability due to rigid ABI requirements that ensure compatibility between binaries. Source package managers provide flexibility in building software, but compilation can be slow. For example, installing an HPC code with a new MPI implementation may result in a full rebuild. Spack, a widely deployed, HPC-focused package manager, can use source and pre-compiled binaries, but lacks a binary compatibility model, so it cannot mix binaries not built together. We present splicing, an extension to Spack that models binary compatibility between packages and allows seamless mixing of source and binary distributions. Splicing augments Spack's packaging language and dependency resolution engine to reuse compatible binaries but maintains the flexibility of source builds. It incurs minimal installation-time overhead and allows rapid installation from binaries, even for ABI-sensitive dependencies like MPI that would otherwise require many rebuilds.
format Preprint
id arxiv_https___arxiv_org_abs_2509_07728
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Bridging the Gap Between Binary and Source Based Package Management in Spack
Gouwar, John
Becker, Gregory
Dahlgren, Tamara
Hanford, Nathan
Guha, Arjun
Gamblin, Todd
Software Engineering
Binary package managers install software quickly but they limit configurability due to rigid ABI requirements that ensure compatibility between binaries. Source package managers provide flexibility in building software, but compilation can be slow. For example, installing an HPC code with a new MPI implementation may result in a full rebuild. Spack, a widely deployed, HPC-focused package manager, can use source and pre-compiled binaries, but lacks a binary compatibility model, so it cannot mix binaries not built together. We present splicing, an extension to Spack that models binary compatibility between packages and allows seamless mixing of source and binary distributions. Splicing augments Spack's packaging language and dependency resolution engine to reuse compatible binaries but maintains the flexibility of source builds. It incurs minimal installation-time overhead and allows rapid installation from binaries, even for ABI-sensitive dependencies like MPI that would otherwise require many rebuilds.
title Bridging the Gap Between Binary and Source Based Package Management in Spack
topic Software Engineering
url https://arxiv.org/abs/2509.07728