GNU Automake 1.19 corrige un error de 14 años en dist
GNU Automake 1.19, su primera versión en 15 meses, corrige un error de 14 años que rompía comandos simultáneos como make dist-bzip2 dist-xz.
3 min de lectura

En cifras
- since Automake's previous release, 1.18.1
- 15 months
- age of the concurrent-compression bug now fixed
- 14 years
- archive formats the new AM_OPTIONAL_AUTOMAKE macro can build conditionally
- 8
GNU Automake 1.19 ya está disponible, la primera versión nueva de esta herramienta de compilación tan usada en 15 meses. El archivo NEWS del proyecto GNU Automake y el informe de Phoronix, ambos publicados el 10 de septiembre de 2026, describen una versión construida casi por completo en torno a la corrección de errores existentes, en lugar de añadir nuevas funciones.
Automake es una herramienta que genera Makefiles portables a partir de una plantilla más sencilla. Es una parte de la cadena "autotools" de GNU, junto con Autoconf y Libtool. Sigue siendo habitual en proyectos en C y C++ que no han migrado a sistemas de compilación más nuevos como Meson o CMake. Los proyectos más antiguos tienden a mantenerlo, ya que cambiar significaría reescribir por completo la configuración de compilación.
Un intervalo de 15 meses entre versiones es largo para una herramienta de la que dependen tantos proyectos. Durante la mayor parte de ese tiempo no hubo ningún cambio visible para los usuarios. La versión 1.19 añade solo una función realmente nueva. El resto de sus cambios corrige errores que llevaban tiempo en el registro de incidencias, algunos desde hace más de una década.
Un error de 14 años, corregido
La corrección principal de esta versión resuelve un problema que existía desde hacía 14 años. Ejecutar juntos dos objetivos de compresión, como make dist-bzip2 dist-xz, solía fallar. Automake 1.19 corrige esto haciendo que los objetivos de compresión simultáneos compartan archivos tar intermedios mediante el mecanismo .INTERMEDIATE de GNU make, según el archivo NEWS del proyecto.
Un segundo cambio, relacionado con el anterior, añade una nueva macro, AM_OPTIONAL_AUTOMAKE. Permite que el sistema de compilación de un proyecto genere un formato de archivo, como dist-bzip2 o dist-xz, solo si la herramienta de compresión correspondiente está realmente instalada. Los formatos sin una herramienta disponible se omiten en lugar de hacer fallar toda la compilación. La documentación de la versión describe el objetivo como construir cada archivo "si la herramienta dada para la creación/compresión del archivo está disponible, y omitir las demás sin dar error". La macro cubre ocho formatos: dist-bzip2, dist-bzip3, dist-xz, dist-lzip, dist-zstd, dist-zip, dist-shar y dist-tarZ.
Otras correcciones en la 1.19
| Cambio | Qué corrige |
|---|---|
make dist y los fallos de tar | make dist ahora falla cuando tar falla, en lugar de producir silenciosamente un archivo truncado |
| Manejo de make recursivo | make dist ya no transmite las anulaciones internas de limpieza a las operaciones anidadas, lo que antes rompía distcheck |
| Detección de archivos de licencia | COPYINGv2, COPYINGv3, COPYING.LESSERv2 y COPYING.LESSERv3 ahora se reconocen para la distribución automática |
| Detección de BusyBox tar | Ya no se identifica erróneamente como GNU tar solo por la salida de --version |
| Comprobación de longitud de nombres de archivo | Ahora solo rechaza los nombres de archivo que superan el límite configurado, no los que lo alcanzan exactamente |
| Etiquetado de Objective-C/C++ | Las fuentes ahora reciben automáticamente --tag=OBJC / --tag=OBJCXX con Libtool 2.6.0 o más reciente |
Lo que esto significa para los desarrolladores
Si la compilación de tu proyecto alguna vez falló al ejecutar dos objetivos make dist-* en el mismo comando, ese fallo ya está corregido. Aun así, primero tienes que actualizar a Automake 1.19 y regenerar tus archivos de compilación con autoreconf.
Si mantienes un script de publicación que asume que ciertas herramientas de compresión siempre están presentes, vale la pena adoptar la nueva macro AM_OPTIONAL_AUTOMAKE. Elimina la necesidad de escribir a mano comprobaciones de disponibilidad para herramientas como bzip2, xz y zstd.
Revisa también el nombre del archivo de licencia de tu proyecto antes de actualizar. Si usa una variante como COPYING.LESSERv3 que antes no se reconocía, Automake 1.19 la detectará ahora automáticamente y la incluirá en los archivos distribuidos. Eso solo importa si contabas con que quedara excluida.
Fuentes
- GNU Automake 1.19 Released With More Than One Year Worth Of Fixes - Phoronix
- Automake NEWS - v1.19 - GNU Savannah
Artículos relacionados

LLVM debate compilar ClangIR por defecto
Una RFC de LLVM propone compilar ClangIR dentro de Clang por defecto. Nadie lo usaría sin un indicador, pero hay estimaciones que doblan los tiempos de compilación.

Debian Code Search elimina su última dependencia de cgo
Michael Stapelberg sustituyó una biblioteca en C de 7 años por Go puro usando el paquete SIMD experimental, y alcanzó la velocidad de la versión en C.

Un binario strip manipulado puede colar una puerta trasera en todo NixOS
Unos investigadores han construido el ataque trusting-trust de Ken Thompson con GNU strip, no con un compilador, y han colado puertas traseras en casi todo un instalador de NixOS.