Hi,
When cross-compiling texinfo in an environment where ncurses is
available for the host machine (e.g. in a sysroot), but not for the
build machine, running `make` fails with the following error:
Making all in info
make[2]: Entering directory '/build/configuration/info'
rm -f doc.c funs.h
../tools/info/makedoc /build/source/texinfo-7.3/info/session-cmd.c
/build/source/texinfo-7.3/info/echo-area.c
/build/source/texinfo-7.3/info/infodoc.c
/build/source/texinfo-7.3/info/m-x.c
/build/source/texinfo-7.3/info/indices.c
/build/source/texinfo-7.3/info/nodemenu.c
/build/source/texinfo-7.3/info/footnotes.c
/build/source/texinfo-7.3/info/variables.c
/bin/bash: line 1: ../tools/info/makedoc: No such file or directory
make[2]: *** [Makefile:3617: funs.h] Error 127
make[2]: Leaving directory '/build/configuration/info'
make[1]: *** [Makefile:2005: all-recursive] Error 1
make[1]: Leaving directory '/build/configuration'
make: *** [Makefile:1944: all] Error 2
The same error has been reported here:
https://lists.gnu.org/archive/html/bug-texinfo/2013-11/msg00017.html
In the case of cross-compiling, parts of texinfo are built for running
on the build machine (in the `tools` directory). For each of the build
machine and the host machine, it is decided whether the `info`
subdirectory is built or not, based on `HAVE_TERMLIBS`. If
`HAVE_TERMLIBS` is false for the build machine and true for the host
machine, `tools/info` will not be built, but `info` will be built,
trying to execute `../tools/info/makedoc`, which is not there.
A possible workaround is to execute `make -C tools/info makedoc` before
executing `make`.
-Manuel