This is an old bug in the "info" utility, which no longer appeared in 7.1.1 and 7.2, but reappeared in 7.2.92 (all my tests have been done under Debian, with Debian packages):
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484740 In short, where resolving a cross reference, "info" tries various variants of the file name in the same directory as the referencing info file, then do the same thing in the directories of the info path. But if there is a non-info file in the way, e.g. a "libtool" script when searching for the libtool info manual, the buggy info versions stop there instead of detecting that this file does not have the info format and resuming the search. To reproduce with the GNU MPFR source tree: 1. I copied the libtool script to the doc directory in the MPFR source tree, i.e. where mpfr.info can be found (to mimic the old file hierarchy). 2. In this doc directory: strace -o str.out -f info ./mpfr 3. /libtool to search for "libtool" in the MPFR manual. 4. Type [Enter] over "*note GNU Libtool: (libtool)Top". With info 7.2, the "libtool" script is read, but info resumes the search and eventually finds the libtool manual in some other directory. But with info 7.2.92, the search stops there: [...] 29616 newfstatat(AT_FDCWD, "./libtool.info", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.gz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.lz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.xz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.bz2", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.lzma", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.Z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.zst", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.info.Y", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.gz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.lz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.xz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.bz2", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.lzma", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.Z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.zst", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool-info.Y", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.gz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.lz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.xz", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.bz2", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.lzma", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.Z", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.zst", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool.inf.Y", 0x7ffc1d310260, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, st_size=352925, ...}, 0) = 0 29616 newfstatat(AT_FDCWD, "./libtool", {st_mode=S_IFREG|0755, st_size=352925, ...}, 0) = 0 29616 openat(AT_FDCWD, "./libtool", O_RDONLY) = 3 29616 mmap(NULL, 356352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98778bc000 29616 read(3, "#! /bin/sh\n# Generated automatic"..., 352925) = 352925 29616 close(3) = 0 29616 munmap(0x7f98778bc000, 356352) = 0 29616 newfstatat(AT_FDCWD, "/home/vlefevre/.config/texinfo/info-hooks/manual-not-found", 0x7ffc1d310250, 0) = -1 ENOENT (No such file or directory) 29616 newfstatat(AT_FDCWD, "/etc/xdg/texinfo/info-hooks/manual-not-found", 0x7ffc1d310250, 0) = -1 ENOENT (No such file or directory) 29616 rt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0 29616 write(1, "\7\33[60;1HCannot find node 'Top'", 30) = 30 [...] -- Vincent Lefèvre <[email protected]> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)
