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.
Por Claire Whitmore
3 min de lectura
Traducido automáticamente del original en inglés, que Claire Whitmore verificó y editó. Prevalece la versión en inglés. Cómo trabajamos

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

Mold 3.0 lanza su reescritura en Rust como enlazador de reemplazo directo
Mold 3.0 es la primera versión escrita en Rust. Requiere Rust 1.95, prescinde de oneTBB de Intel y enlaza tan rápido como 2.42.1, la última versión en C++.

tsgolint v7 lanza linting consciente de tipos escrito en Go
tsgolint v7 ejecuta en Go las reglas conscientes de tipos de typescript-eslint. Cubre 59 de las 61 reglas, y las dos cifras de velocidad del propio proyecto no coinciden.

La reescritura de mold en Rust aspira a ser el enlazador de Linux
Mold enlaza 4,9 veces más rápido que LLVM lld. Su autor lo está reescribiendo en Rust y quiere que las distribuciones lo instalen como /usr/bin/ld.