On Sun, Jun 09, 2024 at 03:58:08AM +0200, Bruno Haible wrote: > Summarizing the results from [2]:
> > - On OpenBSD 7.5, there is a build failure: > Can't locate Texinfo/Commands.pm in @INC > For details, see the 'logs-openbsd' download from [2]. > [2] https://github.com/gnu-texinfo/ci-check/actions/runs/9432971359 (I had to log into a Github account to download this.) The failure states Can't locate Texinfo/Commands.pm in @INC after the build tries to run texi2any.pl. This happens under the doc/tp_api subdirectory. It is likely a problem with not being able to find the file in its generated location. I will investigate some more. The script runs to regenerate this file earlier: ../../tp/maintain/regenerate_commands_perl_info.pl < ../../tp/Texinfo/command_data.txt I was able to replicate a similar error on my own system (Linux Mint 21.2 Victoria) in an out-of-source build, on the release/7.1 branch. It may be an issue with perl not having the right directory in its search list (@INC). I will investigate more. However, on my system, the top-level "make" process exited with status 0, indicating success. This may be why the error wasn't noticed before. texi2any_internals.texi is generated as an empty file. It appears to finish successfully because the output from perl is piped into sed. (Apparently the bash "pipefail" option would fix this problem: see output below.) $ /usr/bin/perl -I ../../../Pod-Simple-Texinfo/lib/ -I ../../../tp/ -I ../../../tp/maintain/lib/Text-Unidecode/lib/ -I ../../../tp/maintain/lib/libintl-perl/lib/ -I ../../../tp/maintain/lib/Unicode-EastAsianWidth/lib/ ../../../Pod-Simple-Texinfo/pod2texi.pl --base-level=section --preamble - --subdir=api_includes ../../../tp/Texinfo/Commands.pod ../../../tp/Texinfo/Common.pm ../../../tp/Texinfo/ParserNonXS.pm ../../../tp/Texinfo/Structuring.pm ../../../tp/Texinfo/Report.pm ../../../tp/Texinfo/Translations.pm ../../../tp/Texinfo/Transformations.pm ../../../tp/Texinfo/Convert/Texinfo.pm ../../../tp/Texinfo/Convert/Utils.pm ../../../tp/Texinfo/Convert/Unicode.pm ../../../tp/Texinfo/Convert/NodeNameNormalization.pm ../../../tp/Texinfo/Convert/Text.pm ../../../tp/Texinfo/Convert/Converter.pm ../../../tp/Texinfo/Convert/Info.pm ../../../tp/Texinfo/Convert/HTML.pm ../../../tp/Texinfo/Convert/DocBook.pm ../../../tp/Texinfo/Convert/TexinfoMarkup.pm ../../../tp/Texinfo/Convert/TexinfoXML.pm ../../../tp/Texinfo/Convert/Plaintext.pm < ../../../doc/tp_api/texi2any_internals_preamble.texi | sed -e 's/^@bye/@__bye/' | sed -e '/^@__bye/r ../../../doc/tp_api/texi2any_internals_indices.texi' Can't locate Texinfo/Commands.pm in @INC (you may need to install the Texinfo::Commands module) (@INC contains: ../../../Pod-Simple-Texinfo/../tp/maintain/lib/Text-Unidecode/lib ../../../Pod-Simple-Texinfo/../tp/maintain/lib/Unicode-EastAsianWidth/lib ../../../Pod-Simple-Texinfo/../tp/maintain/lib/libintl-perl/lib ../../../Pod-Simple-Texinfo/lib ../../../Pod-Simple-Texinfo/../tp ../../../Pod-Simple-Texinfo/lib/ ../../../tp/ ../../../tp/maintain/lib/Text-Unidecode/lib/ ../../../tp/maintain/lib/libintl-perl/lib/ ../../../tp/maintain/lib/Unicode-EastAsianWidth/lib/ /home/g/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/g/perl5/lib/perl5 /home/g/local/lib/perl5/site_perl/5.28.0 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at ../../../Pod-Simple-Texinfo/../tp/Texinfo/Convert/NodeNameNormalization.pm line 39. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/../tp/Texinfo/Convert/NodeNameNormalization.pm line 39. Compilation failed in require at ../../../Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm line 51. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm line 51. Compilation failed in require at ../../../Pod-Simple-Texinfo/pod2texi.pl line 84. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/pod2texi.pl line 84. $ echo $? 0 $ set -o pipefail $ /usr/bin/perl -I ../../../Pod-Simple-Texinfo/lib/ -I ../../../tp/ -I ../../../tp/maintain/lib/Text-Unidecode/lib/ -I ../../../tp/maintain/lib/libintl-perl/lib/ -I ../../../tp/maintain/lib/Unicode-EastAsianWidth/lib/ ../../../Pod-Simple-Texinfo/pod2texi.pl --base-level=section --preamble - --subdir=api_includes ../../../tp/Texinfo/Commands.pod ../../../tp/Texinfo/Common.pm ../../../tp/Texinfo/ParserNonXS.pm ../../../tp/Texinfo/Structuring.pm ../../../tp/Texinfo/Report.pm ../../../tp/Texinfo/Translations.pm ../../../tp/Texinfo/Transformations.pm ../../../tp/Texinfo/Convert/Texinfo.pm ../../../tp/Texinfo/Convert/Utils.pm ../../../tp/Texinfo/Convert/Unicode.pm ../../../tp/Texinfo/Convert/NodeNameNormalization.pm ../../../tp/Texinfo/Convert/Text.pm ../../../tp/Texinfo/Convert/Converter.pm ../../../tp/Texinfo/Convert/Info.pm ../../../tp/Texinfo/Convert/HTML.pm ../../../tp/Texinfo/Convert/DocBook.pm ../../../tp/Texinfo/Convert/TexinfoMarkup.pm ../../../tp/Texinfo/Convert/TexinfoXML.pm ../../../tp/Texinfo/Convert/Plaintext.pm < ../../../doc/tp_api/texi2any_internals_preamble.texi | sed -e 's/^@bye/@__bye/' | sed -e '/^@__bye/r ../../../doc/tp_api/texi2any_internals_indices.texi' Can't locate Texinfo/Commands.pm in @INC (you may need to install the Texinfo::Commands module) (@INC contains: ../../../Pod-Simple-Texinfo/../tp/maintain/lib/Text-Unidecode/lib ../../../Pod-Simple-Texinfo/../tp/maintain/lib/Unicode-EastAsianWidth/lib ../../../Pod-Simple-Texinfo/../tp/maintain/lib/libintl-perl/lib ../../../Pod-Simple-Texinfo/lib ../../../Pod-Simple-Texinfo/../tp ../../../Pod-Simple-Texinfo/lib/ ../../../tp/ ../../../tp/maintain/lib/Text-Unidecode/lib/ ../../../tp/maintain/lib/libintl-perl/lib/ ../../../tp/maintain/lib/Unicode-EastAsianWidth/lib/ /home/g/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/g/perl5/lib/perl5 /home/g/local/lib/perl5/site_perl/5.28.0 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at ../../../Pod-Simple-Texinfo/../tp/Texinfo/Convert/NodeNameNormalization.pm line 39. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/../tp/Texinfo/Convert/NodeNameNormalization.pm line 39. Compilation failed in require at ../../../Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm line 51. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm line 51. Compilation failed in require at ../../../Pod-Simple-Texinfo/pod2texi.pl line 84. BEGIN failed--compilation aborted at ../../../Pod-Simple-Texinfo/pod2texi.pl line 84. $ echo $? 2 We should try to fix the rule in doc/tp_api/Makefile.am to fail if perl does. The rule is similar in the master branch. texi2any_internals.texi: $(texi2any_internals_dependencies) texi2any_internals_indices.texi texi2any_internals_preamble.texi $(PERL) -I $(top_srcdir)/Pod-Simple-Texinfo/lib/ -I $(top_srcdir)/tp/ -I $(top_srcdir)/tp/maintain/lib/Text-Unidecode/lib/ -I $(top_srcdir)/tp/maintain/lib/libintl-perl/lib/ -I $(top_srcdir)/tp/maintain/lib/Unicode-EastAsianWidth/lib/ $(top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl --base-level=section --preamble - --subdir=api_includes $(texi2any_internals_dependencies) < $(srcdir)/texi2any_internals_preamble.texi | sed -e 's/^@bye/@__bye/' | sed -e '/^@__bye/r $(srcdir)/texi2any_internals_indices.texi' | sed -e 's/^@__bye//' > $@ (We should also avoid passing all the -I options to locate bundled libraries, as this should be handled by Texinfo::ModulePath. I have removed a considerable amount of these in the past but evidently some remain.)