Skip to content
Tech AI Wire

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 Tech AI Wire Team

3 min de lectura

XLinkedIn
A widescreen monitor on a desk showing an editor full of code, too small to read, beside a desk lamp and a keyboard.

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

CambioQué corrige
make dist y los fallos de tarmake dist ahora falla cuando tar falla, en lugar de producir silenciosamente un archivo truncado
Manejo de make recursivomake dist ya no transmite las anulaciones internas de limpieza a las operaciones anidadas, lo que antes rompía distcheck
Detección de archivos de licenciaCOPYINGv2, COPYINGv3, COPYING.LESSERv2 y COPYING.LESSERv3 ahora se reconocen para la distribución automática
Detección de BusyBox tarYa no se identifica erróneamente como GNU tar solo por la salida de --version
Comprobación de longitud de nombres de archivoAhora 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

  1. GNU Automake 1.19 Released With More Than One Year Worth Of Fixes - Phoronix
  2. Automake NEWS - v1.19 - GNU Savannah

Artículos relacionados

A terminal showing a large C++ project compiling, with the CMake percentage counter partway through and object files scrolling past.
Coding

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.