I've been experiencing some problems, while upgrading my GNU/Linux hosted mingw32 cross tools to use binutils-2.19. Host platform is Ubuntu-8.04; neither makeinfo nor bison installed. Source is stock binutils-2.19.tar.gz from http://ftp.gnu.org/gnu/binutils, building in separate build directory, and configured with:
$ ../binutils-2.19/configure --prefix=$HOME/mingw32 \ --target=mingw32 --with-sysroot=$HOME/mingw32 \ --with-gcc --with-gnu-as --with-gnu-ld \ --disable-nls --disable-debug On following that with a simple `make', the build dies in `bfd', for no immediately apparent reason, (`make' didn't stop immediately, when it should have, and the pertinent diagnostic message scrolled off the screen, unnoticed): 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/keith/tmp/mingw-3.4.5/bfd/po' make[3]: Entering directory `/home/keith/tmp/mingw-3.4.5/bfd/po' make[3]: Nothing to be done for `info'. make[3]: Leaving directory `/home/keith/tmp/mingw-3.4.5/bfd/po' make[3]: Entering directory `/home/keith/tmp/mingw-3.4.5/bfd' make[3]: Nothing to be done for `info-am'. make[3]: Leaving directory `/home/keith/tmp/mingw-3.4.5/bfd' make[2]: *** [info-recursive] Error 1 make[2]: Leaving directory `/home/keith/tmp/mingw-3.4.5/bfd' make[1]: *** [all-bfd] Error 2 make[1]: Leaving directory `/home/keith/tmp/mingw-3.4.5' make: *** [all] Error 2 Immediately invoking `make' again, the cause of the above is revealed: 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/keith/tmp/mingw-3.4.5/bfd/doc' (Again, `make' didn't stop here; it continued with: Making info in po make[3]: Entering directory `/home/keith/tmp/mingw-3.4.5/bfd/po' make[3]: Nothing to be done for `info'. and the cause of failure only remained visible, because there was nothing to be done for that `info' goal). Now, I *know* `makeinfo' isn't installed, and I don't *want* to install it! However, I didn't modify *any* file, `.texi', `.texinfo' or otherwise, and my `make' is: $ make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. so I *really* shouldn't need `makeinfo'. Follow up investigation reveals that a regenerated `bfd/doc/elf.texi' has appeared in my build directory, and in the source tree I see: $ ls -gotr binutils-2.19/bfd/{elf.c,doc/{elf.texi,bfd.info}} -rw-r--r-- 1 809 2008-09-10 08:50 binutils-2.19/bfd/doc/elf.texi -rw-r--r-- 1 253469 2008-10-09 13:18 binutils-2.19/bfd/elf.c -rw-r--r-- 1 459543 2008-10-16 14:45 binutils-2.19/bfd/doc/bfd.info Observe that `bfd/doc/elf.texi' is out of date wrt `bfd/elf.c', (from which I note it is generated); hence the regeneration in the build tree, and the requirement for `makeinfo'. I further note that: $ diff bfd/doc/elf.texi ../binutils-2.19/bfd/doc/elf.texi produces no output, indicating that the regenerated file is identical to the distributed one, so simply touching `bfd/doc/elf.texi' and then `bfd/doc/bfd.info', (in this order), in the source tree suffices to remove the unwanted, and unnecessary, `makeinfo' dependency. Having made these adjustments, I can now progress to the second problem: the source file `ld/deffilep.c' is missing from the source distribution, and because I don't have `bison' installed, it cannot be generated. Ok, nothing for it; I have to install `bison', even though I *really* don't want to, and I *definitely* shouldn't need to, when building from a released source tarball. After installing `bison', I notice that *both* `deffilep.c' *and* `deffilep.h' are generated in my build tree. Is there any reason why neither of these files appears to be included in the source tarball, or is this simply oversight? (I notice that both *are* enumerated in the `DIST_COMMON' macro in ld/Makefile). On copying the generated `deffilep.c' into the source tree, purging the build tree, uninstalling `bison', and starting over, I observe that everything now builds successfully. Strangely, although I didn't preserve the generated `deffilep.h', and it now appears nowhere in either the source or the build tree, its absence doesn't seem to affect the success of the build; is it a quirk of building for the `mingw32' target, that it isn't required, or is it just superfluous? I plan to repackage binutils-2.19, for redistribution from the MinGW site on SourceForge, and I would like to save other users from the problems I have experienced. Presumably: * rescheduling the timestamps for bfd/doc/{elf.texi,bfd.info} * adding ld/deffilep.c are appropriate. Should I also add ld/deffilep.h? Regards, Keith. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils