Bug 15345 - [2.23.2 regression] binutils-2.23.2 tarball doesn't build without makeinfo
Summary: [2.23.2 regression] binutils-2.23.2 tarball doesn't build without makeinfo
Status: NEW
Alias: None
Product: binutils
Classification: Unclassified
Component: admin (show other bugs)
Version: 2.23
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-08 09:27 UTC by Mikael Pettersson
Modified: 2013-04-08 09:33 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikael Pettersson 2013-04-08 09:27:19 UTC
Building from unmodified release tarballs shouldn't require makeinfo, but with binutils-2.23.2 a missing makeinfo causes a hard build error:

...
make chew
make[4]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/doc'
make[4]: `chew' is up to date.
make[4]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/doc'
./chew -f /home/mpettersson/binutils-2.23.2/bfd/doc/doc.str </home/mpettersson/binutils-2.23.2/bfd/doc/../linker.c >linker.tmp
/bin/sh /home/mpettersson/binutils-2.23.2/bfd/doc/../../move-if-change linker.tmp linker.texi
restore=: && backupdir=".am$$" && \
        rm -rf $backupdir && mkdir $backupdir && \
        if (/home/mpettersson/binutils-2.23.2/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 /home/mpettersson/binutils-2.23.2/missing makeinfo --split-size=5000000 --split-size=5000000   -I /home/mpettersson/binutils-2.23.2/bfd/doc \
         -o bfd.info `test -f 'bfd.texinfo' || echo '/home/mpettersson/binutils-2.23.2/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 `/home/mpettersson/objdir-2.23.2/bfd/doc'
Making info in po
make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/po'
( if test 'x/home/mpettersson/binutils-2.23.2/bfd/po' != 'x.'; then \
            posrcprefix='/home/mpettersson/binutils-2.23.2/bfd/'; \
          else \
            posrcprefix="../"; \
          fi; \
          rm -f SRC-POTFILES-t SRC-POTFILES \
            && (sed -e '/^#/d' \
                    -e '/^[     ]*$/d' \
                    -e "s@.*@   $posrcprefix& \\\\@" < /home/mpettersson/binutils-2.23.2/bfd/po/SRC-POTFILES.in \
                | sed -e '$s/\\$//') > SRC-POTFILES-t \
            && chmod a-w SRC-POTFILES-t \
            && mv SRC-POTFILES-t SRC-POTFILES )
( rm -f BLD-POTFILES-t BLD-POTFILES \
            && (sed -e '/^#/d' \
                    -e '/^[     ]*$/d' \
                    -e "s@.*@   ../& \\\\@" < /home/mpettersson/binutils-2.23.2/bfd/po/BLD-POTFILES.in \
                | sed -e '$s/\\$//') > BLD-POTFILES-t \
            && chmod a-w BLD-POTFILES-t \
            && mv BLD-POTFILES-t BLD-POTFILES )
cd .. \
          && CONFIG_FILES=po/Makefile.in:po/Make-in \
             CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing bfd_stdint.h commands
config.status: executing default commands
make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/po'
make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/po'
make[3]: Nothing to be done for `info'.
make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/po'
make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd'
make[3]: Nothing to be done for `info-am'.
make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd'
make[2]: *** [info-recursive] Error 1
make[2]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd'
make[1]: *** [all-bfd] Error 2
make[1]: Leaving directory `/home/mpettersson/objdir-2.23.2'
make: *** [all] Error 2

binutils-2.23.1 builds fine on the same system (a very basic CentOS 6.4/x86_64) with the same configuration options and build procedure.  My guess is that some files weren't properly regenerated before the release was tarred up.
Comment 1 gingold@adacore.com 2013-04-08 09:33:07 UTC
On Apr 8, 2013, at 11:27 AM, mikpe at it dot uu.se wrote:

> http://sourceware.org/bugzilla/show_bug.cgi?id=15345
> 
>             Bug #: 15345
>           Summary: [2.23.2 regression] binutils-2.23.2 tarball doesn't
>                    build without makeinfo
>           Product: binutils
>           Version: 2.23
>            Status: NEW
>          Severity: normal
>          Priority: P2
>         Component: admin
>        AssignedTo: unassigned@sourceware.org
>        ReportedBy: mikpe@it.uu.se
>    Classification: Unclassified
> 
> 
> Building from unmodified release tarballs shouldn't require makeinfo, but with
> binutils-2.23.2 a missing makeinfo causes a hard build error:
> 
> ...
> make chew
> make[4]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/doc'
> make[4]: `chew' is up to date.
> make[4]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/doc'
> ./chew -f /home/mpettersson/binutils-2.23.2/bfd/doc/doc.str
> </home/mpettersson/binutils-2.23.2/bfd/doc/../linker.c >linker.tmp
> /bin/sh /home/mpettersson/binutils-2.23.2/bfd/doc/../../move-if-change
> linker.tmp linker.texi
> restore=: && backupdir=".am$$" && \
>        rm -rf $backupdir && mkdir $backupdir && \
>        if (/home/mpettersson/binutils-2.23.2/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 /home/mpettersson/binutils-2.23.2/missing makeinfo
> --split-size=5000000 --split-size=5000000   -I
> /home/mpettersson/binutils-2.23.2/bfd/doc \
>         -o bfd.info `test -f 'bfd.texinfo' || echo
> '/home/mpettersson/binutils-2.23.2/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 `/home/mpettersson/objdir-2.23.2/bfd/doc'
> Making info in po
> make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/po'
> ( if test 'x/home/mpettersson/binutils-2.23.2/bfd/po' != 'x.'; then \
>            posrcprefix='/home/mpettersson/binutils-2.23.2/bfd/'; \
>          else \
>            posrcprefix="../"; \
>          fi; \
>          rm -f SRC-POTFILES-t SRC-POTFILES \
>            && (sed -e '/^#/d' \
>                    -e '/^[     ]*$/d' \
>                    -e "s@.*@   $posrcprefix& \\\\@" <
> /home/mpettersson/binutils-2.23.2/bfd/po/SRC-POTFILES.in \
>                | sed -e '$s/\\$//') > SRC-POTFILES-t \
>            && chmod a-w SRC-POTFILES-t \
>            && mv SRC-POTFILES-t SRC-POTFILES )
> ( rm -f BLD-POTFILES-t BLD-POTFILES \
>            && (sed -e '/^#/d' \
>                    -e '/^[     ]*$/d' \
>                    -e "s@.*@   ../& \\\\@" <
> /home/mpettersson/binutils-2.23.2/bfd/po/BLD-POTFILES.in \
>                | sed -e '$s/\\$//') > BLD-POTFILES-t \
>            && chmod a-w BLD-POTFILES-t \
>            && mv BLD-POTFILES-t BLD-POTFILES )
> cd .. \
>          && CONFIG_FILES=po/Makefile.in:po/Make-in \
>             CONFIG_HEADERS= /bin/sh ./config.status
> config.status: creating po/Makefile.in
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing default-1 commands
> config.status: executing bfd_stdint.h commands
> config.status: executing default commands
> make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/po'
> make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd/po'
> make[3]: Nothing to be done for `info'.
> make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd/po'
> make[3]: Entering directory `/home/mpettersson/objdir-2.23.2/bfd'
> make[3]: Nothing to be done for `info-am'.
> make[3]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd'
> make[2]: *** [info-recursive] Error 1
> make[2]: Leaving directory `/home/mpettersson/objdir-2.23.2/bfd'
> make[1]: *** [all-bfd] Error 2
> make[1]: Leaving directory `/home/mpettersson/objdir-2.23.2'
> make: *** [all] Error 2
> 
> binutils-2.23.1 builds fine on the same system (a very basic CentOS 6.4/x86_64)
> with the same configuration options and build procedure.  My guess is that some
> files weren't properly regenerated before the release was tarred up.

The usual workaround is to build using make MAKEINFO=true

I will investigate that issue. But I think info files were regenerated, but maybe the mtime wasn't

Tristan.