Crear imagen Singularity con la versión más reciente de Macaulay2
En una entrada anterior intenté explicar cómo crear una imagen Singularity para ejecutar el software Macaulay2 (M2) en un contenedor (tipo Docker pero usando Singularity). En esta nueva entrada explico lo mismo, pero con dos mejoras:
-
usando la versión más reciente de M2, disponible para Debian gracias a Doug Torrance: https://people.debian.org/~dtorrance/.
-
compilando la imagen Singularity directamente en el servidor de Sylabs. Esto tiene dos ventajas: no precisamos una computadora con acceso de superusuario para compilar de forma local, y además la imagen queda automáticamente subida al servidor para ser compartida.
Para lograr esto ingresamos a nuestra cuenta en https://cloud.sylabs.io, y vamos a la sección “Remote builder”. En el editor de texto que aparece, copiamos el “archivo de definición” de la imagen que queremos compilar. En este caso:
Bootstrap: docker
From: debian:12
%post
apt update && apt -y upgrade
apt -y install ca-certificates
apt -y install debian-keyring
echo 'deb \[signed-by=/usr/share/keyrings/debian-keyring.gpg] https://people.debian.org/~dtorrance/debian bookworm/' | tee -a /etc/apt/sources.list
apt update
apt -y install macaulay2
%runscript
M2
%labels
Author mvaldes
Version v1.24.11
En esa misma página elegimos el nombre de nuestro repositorio, que en este ejemplo es: /macaulay2/m2-v1.24.11.
Finalmente le damos click a “Submit build”. Esto hace que el servidor de Sylabs comience a crear una imagen Singularity en base al archivo de definición.
Después de 21 minutos se termina de crear la imagen y queda disponible para que otras personas puedan descargarla y así poder usar la versión más reciente de M2 en un contenedor.

Por ejemplo, para descargar la imagen desde el servidor, ejecutamos lo siguiente desde la computadora donde querramos usarla:
$ singularity pull --arch amd64 library://mvaldes/macaulay2/m2:v1.24.11
Una vez descargada la imagen, podemos usarla para ejecutar M2 desde un contenedor de Singularity:
$ singularity shell m2_v1.24.11.sif
Singularity> M2
Referencias
- Macaulay2 Debian Personal Package Archive. Doug Torrance. enlace