Compilare binutils 2.18

Compilando le binutils 2.18 su Kubuntu Hardy Heron 8.04 beta l’installazione falliva con il seguente errore:

Making info in doc
make[3]: Entering directory `/usr/src/binutils-2.18/buildit/bfd/doc'
restore=: && backupdir=".am$$" && \
        rm -rf $backupdir && mkdir $backupdir && \
        if (/usr/src/binutils-2.18/missing makeinfo --split-size=5000000
--split-size=5000000 --version) >/dev/null 2>&1; then \
          for f in bfd.info bfd.info-[0-9] bfd.info-[0-9][0-9] bfd.i[0-9]
bfd.i[0-9][0-9]; do \
            if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
          done; \
        else :; fi && \
        if /usr/src/binutils-2.18/missing makeinfo --split-size=5000000
--split-size=5000000   -I ../../../bfd/doc \
         -o bfd.info `test -f 'bfd.texinfo' || echo
'../../../bfd/doc/'`bfd.texinfo; \
        then \
          rc=0; \
        else \
          rc=$?; \
          $restore $backupdir/* `echo "./bfd.info" | sed 's|[^/]*$||'`; \
        fi; \
        rm -rf $backupdir; exit $rc
WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.
make[3]: *** [bfd.info] Error 1
make[3]: Leaving directory `/usr/src/binutils-2.18/buildit/bfd/doc'
Making info in po
make[3]: Entering directory `/usr/src/binutils-2.18/buildit/bfd/po'
make[3]: Nothing to be done for `info'.
make[3]: Leaving directory `/usr/src/binutils-2.18/buildit/bfd/po'
make[3]: Entering directory `/usr/src/binutils-2.18/buildit/bfd'
make[3]: Nothing to be done for `info-am'.
make[3]: Leaving directory `/usr/src/binutils-2.18/buildit/bfd'
make[2]: *** [info-recursive] Error 1
make[2]: Leaving directory `/usr/src/binutils-2.18/buildit/bfd'
make[1]: *** [all-bfd] Error 2
make[1]: Leaving directory `/usr/src/binutils-2.18/buildit'
make: *** [all] Error 2

L’errore è dovuto a un bug nel codice del configure (http://bugs.sourcemage.org/show_bug.cgi?id=14015). Si può risolvere in due modi:

  1. Installando una versione di makeinfo <=4.9 (che su *Ubuntu Hardy si riduce a installare questo pacchetto per Gutsy ma funzionante anche su Hardy texinfo_4.8.dfsg.1-6_i386.deb)
  2. Metodo più corretto: applicando questa patch: http://bugs.sourcemage.org/attachment.cgi?id=6971

Scusate il post atipico ma ho perso mezz’ora della giornata prima di capire dove mettere le mani, e magari posso risparmiare il tempo perso a qualcun’altro.