[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fix an error during "./configure; make dist"
From: |
Gavin Smith |
Subject: |
Re: Fix an error during "./configure; make dist" |
Date: |
Wed, 7 Aug 2024 02:16:30 +0100 |
On Tue, Aug 06, 2024 at 03:58:37AM +0100, Gavin Smith wrote:
> > Additionally, there is one more issue:
> >
> > 2) Texinfo/ModulePath.pm is no longer found in a particular situation
> > (not sure whether this situation is supported).
> >
> > How to reproduce:
> >
> > $ ./configure
> > $ make maintainer-clean
> > $ ./configure
> > $ make distcheck
> > ...
> > make distdir-am
> > make[4]: Entering directory '/TEXINFO/texinfo/doc'
> > Updating ./version.texi
> > Updating ./version-stnd.texi
> > Updating ./version-texi2any_api.texi
> > TEXINFO_DEV_SOURCE=1 top_srcdir=".." top_builddir=".." /usr/bin/perl -I
> > ../Pod-Simple-Texinfo/lib/ ../Pod-Simple-Texinfo/pod2texi.pl
> > --base-level=subsubsection --no-section-nodes --headings-as-sections
> > --subdir=. /TEXINFO/texinfo/Pod-Simple-Texinfo/pod2texi.pl > /dev/null
> > Can't locate Texinfo/ModulePath.pm in @INC (you may need to install the
> > Texinfo::ModulePath module) (@INC contains: ../tp
> > ../Pod-Simple-Texinfo/lib/ /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/pod2texi.pl line 75.
> > BEGIN failed--compilation aborted at ../Pod-Simple-Texinfo/pod2texi.pl line
> > 112.
>
> This failure is for building pod2texi.texi. It requires running the
> pod2texi program, but this is not ready to run yet. It is probably easy
> enough to make work by adding more Makefile rules but I wonder how many
> similar problems could exist.
>
> One idea is to run pod2texi instead of pod2texi.pl, setting
> TEXINFO_DEV_SOURCE. There would be a rule for regenerating pod2texi
> by running "make" in "Pod-Simple-Texinfo". ModulePath.pm would be
> a dependency of pod2texi. This would avoid having to add rules to
> regenerate ModulePath.pm in multiple places, which is less obvious than
> a rule to generate pod2texi. I can probably try to implement this in the
> next day or two.
I started doing this.
However, I hit another problem immediately:
(cd tp_api && make top_distdir=../../texinfo-7.1.90
distdir=../../texinfo-7.1.90/doc/tp_api \
am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[5]: Entering directory '/home/g/src/texinfo/GIT/doc/tp_api'
cd ../.. && /bin/bash /home/g/src/texinfo/GIT/build-aux/missing automake-1.16
--gnu doc/tp_api/Makefile
automake-1.16: error: cannot open < doc/tp_api/texi2any_internals.texi: No such
file or directory
make[5]: *** [Makefile:1861: Makefile.in] Error 1
make[5]: Leaving directory '/home/g/src/texinfo/GIT/doc/tp_api'
I found it slightly hard to recover from this error and had to resort
to reverting all my changes and running ./autogen.sh again.
There is a comment in autogen.sh:
# missing texi2any_internals.texi stops automake. Set up a fake
# texi2any_internals.texi with a file timestamp set in the past,
# if texi2any_internals.texi is not present
But texi2any_internals.texi is in MAINTAINERCLEANFILES in
doc/tp_api/Makefile.am, so will be deleted by "make maintainer-clean".
I presume that there was some bootstrapping issue with this file that
necessitated this in autogen.sh, so it is probably likely that many
"make" targets, include "distcheck", will fail after running
"make maintainer-clean".
texi2any_internals.texi is not tracked in git so its absence is
not evident from the output of "git status".
This may not be the only obstacle.
There is a problem with the includes in texi2any_internals.texi. After
trying to run "make distcheck" they looked like this:
@include ../../../doc/tp_api/api_includes/Texinfo-Commands.texi
@include ../../../doc/tp_api/api_includes/Texinfo-Common.texi
@include ../../../doc/tp_api/api_includes/Texinfo-Parser.texi
Then there were error messages like
texi2any_internals.texi:354: @include: could not find
../../../doc/tp_api/api_includes/Texinfo-Commands.texi
It seems like this path is from the build directory where the file was
originally generated, but the path should be from the source directory.
Since this file goes into the tarball its contents shouldn't depend on
the path to the srcdir when the tarball was built. So something is
wrong with the rule to build texi2any_internals.texi. These @include
lines are generated by pod2texi.
- Re: Fix an error during "./configure; make dist", (continued)
- Re: Fix an error during "./configure; make dist", Bruno Haible, 2024/08/09
- Re: Fix an error during "./configure; make dist", Bruno Haible, 2024/08/10
- Re: Fix an error during "./configure; make dist", Patrice Dumas, 2024/08/10
- Re: Fix an error during "./configure; make dist", Gavin Smith, 2024/08/10
- Re: Fix an error during "./configure; make dist", Patrice Dumas, 2024/08/10
- Re: Fix an error during "./configure; make dist", Patrice Dumas, 2024/08/10
- Re: Fix an error during "./configure; make dist", Bruno Haible, 2024/08/12
- release/7.1 build system fixes, Gavin Smith, 2024/08/29
- Re: Fix an error during "./configure; make dist", Bruno Haible, 2024/08/12
- Re: Fix an error during "./configure; make dist", Gavin Smith, 2024/08/10
- Re: Fix an error during "./configure; make dist",
Gavin Smith <=
- Re: Fix an error during "./configure; make dist", Patrice Dumas, 2024/08/07
- Re: Fix an error during "./configure; make dist", Patrice Dumas, 2024/08/08
- Re: Fix an error during "./configure; make dist", Gavin Smith, 2024/08/08
- Re: Fix an error during "./configure; make dist", Gavin Smith, 2024/08/07