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

Reply via email to