GNU bug report logs - #7994
make distcheck fails when latex is not installed

Previous Next

Package: automake;

Reported by: Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>

Date: Sun, 6 Feb 2011 22:12:01 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7994 in the body.
You can then email your comments to 7994 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#7994; Package automake. (Sun, 06 Feb 2011 22:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Sun, 06 Feb 2011 22:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>
To: bug-automake <at> gnu.org
Cc: "Jose E. Marchesi" <jemarch <at> gnu.org>
Subject: make distcheck fails when latex is not installed
Date: Sun, 6 Feb 2011 23:20:01 +0100
In a package with a texinfo file, distcheck fails when LaTeX is not
installed.  Instead, it should exit 63(?).

The fact that distcheck runs 'make dvi' is not documented.

(From Jose; please correct me if I cited this wrongly now.)

Thanks,
Ralf




Information forwarded to bug-automake <at> gnu.org:
bug#7994; Package automake. (Thu, 30 Apr 2020 01:37:01 GMT) Full text and rfc822 format available.

Message #8 received at 7994 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: Ralf.Wildenhues <at> gmx.de
Cc: 7994 <at> debbugs.gnu.org, jemarch <at> gnu.org
Subject: Re: bug#7994: make distcheck fails when latex is not installed
Date: Wed, 29 Apr 2020 19:36:11 -0600
Hi Ralf, Jose, anyone and everyone,

Back on this automake bug report from a mere nine years ago:
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=7994)

    Date: Sun, 6 Feb 2011 23:20:01 +0100

    In a package with a texinfo file, distcheck fails when LaTeX is not
    installed.  Instead, it should exit 63(?).

I guess I don't exactly understand.  Do we not want Automake to require
TeX (BTW, as far as I know, LaTeX specifically is irrelevant to Texinfo)
for a successful "make dist" in a package with a Texinfo file? It does
not seem unreasonable to me.

I can't find any specific statement about this, though the manual
(Auxiliary Programs) does say that texinfo.tex is required for make dvi,
make ps, make pdf, to work, which implies that TeX is required, since
texinfo.tex is meaningless by itself.

And, furthermore, what would be the difference between "fails" and "exit 63"?
Either way the make dist(check) would stop. Also, I can't find
anything notable about status 63. Perhaps you meant status 77 for
skipping a test? But this is not a test that is failing, it's a whole
target (dvi). So I'm confused.

BTW, as far as I can tell, it is actually "make dist" that fails, not 
"make distcheck". It's because of the "make dvi" that you mentioned below.

At any rate, I made a test (included below) to try make distcheck on a
constructed minimal distribution without tex/etc., and the result is:

texi2dvi  --build-dir=main.t2d -o main.dvi  \
./../main.texi
/usr/local/gnu/bin/texi2dvi: TeX neither supports -recorder nor outputs \openout lines in its log file
make[1]: *** [Makefile:342: main.dvi] Error 1
make[1]: Leaving directory '/u/karl/gnu/src/akarl/t/distcheck-no-tex.dir/distcheck-no-tex-1.0/_build/sub'
make: *** [Makefile:563: distcheck] Error 1

(Aside: My test sets TEXI2DVI=false, but apparently something along the
way is not respecting that, and finding the texi2dvi in my PATH. Didn't
seem important to track that down. The only difference is whether the
error is emitted by from texi2dvi finding a deficient tex, or
/bin/sh: texi2dvi: command not found
)

By the way, in the process of researching this, I did find two Automake
tests, instdir-no-empty and txinfo-bsd-make-recurs, which as far as I
can tell run dvi/ps/pdf targets without requiring the programs. I feel
somewhat surprised that that hasn't been discerned by someone's
environment before now, but that's how it looks.

    The fact that distcheck runs 'make dvi' is not documented.

Ack, will fix that in any case. Unless we change it.


Here is my little test (without the leading comments).
-----------------------------------------------------------------------------
. test-init.sh

cat >> configure.ac << 'END'
AC_OUTPUT
END

cat > Makefile.am << 'END'
info_TEXINFOS = main.texi
END

cat > main.texi << 'END'
\input texinfo
@setfilename main.info
@bye
END

$ACLOCAL
$AUTOMAKE -a
$AUTOCONF

./configure
$MAKE

TEX=false TEXI2DVI=false MAKEINFO=false DVIPS=false
export TEX TEXI2DVI MAKEINFO DVIPS

$MAKE distcheck
:
-----------------------------------------------------------------------------

Best,
Karl




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Fri, 08 May 2020 01:45:01 GMT) Full text and rfc822 format available.

Notification sent to Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>:
bug acknowledged by developer. (Fri, 08 May 2020 01:45:01 GMT) Full text and rfc822 format available.

Message #13 received at 7994-done <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: Ralf.Wildenhues <at> gmx.de
Cc: 7994 <at> debbugs.gnu.org, jemarch <at> gnu.org
Subject: Re: bug#7994: make distcheck fails when latex is not installed
Date: Thu, 7 May 2020 19:44:55 -0600
Lacking further input, I've pushed the following documentation-only
change to close this one. A further change, for
https://bugs.gnu.org/8289 (which has much more discussion), should make
it possible to omit and change running make dvi. --thanks, karl.

-----------------------------------------------------------------------------
docs: make dist implies make dvi.

This change handles https://bugs.gnu.org/7994.

* doc/automake.texi (Preparing Distributions): make distcheck
runs make dvi.
(Auxiliary Programs) <texinfo.tex>: mention
that make dist runs make dvi, and therefore a TeX system is
required when Texinfo sources are present. Add @cmindex entries
for all auxiliary programs while we're here.
diff --git a/doc/automake.texi b/doc/automake.texi
index 1b35883..adc44f5 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -1232,8 +1232,8 @@ work:
 @item
 It attempts a full compilation of the package (@pxref{Basic
 Installation}), unpacking the newly constructed tarball, running
-@code{make}, @code{make check}, @code{make install}, as well as
-@code{make installcheck}, and even @code{make dist},
+@code{make}, @code{make dvi}, @code{make check}, @code{make install},
+as well as @code{make installcheck}, and even @code{make dist},
 @item
 it tests VPATH builds with read-only source tree (@pxref{VPATH Builds}),
 @item
@@ -2258,10 +2258,12 @@ source in case you need more recent versions.

 @table @code
 @item ar-lib
+@cmindex ar-lib
 This is a wrapper primarily for the Microsoft lib archiver, to make
 it more POSIX-like.

 @item compile
+@cmindex compile
 This is a wrapper for compilers that do not accept options @option{-c}
 and @option{-o} at the same time.  It is only used when absolutely
 required.  Such compilers are rare, with the Microsoft C/C++ Compiler
@@ -2272,6 +2274,8 @@ translation where needed: @option{-I}, @option{-L}, @option{-l},

 @item config.guess
 @itemx config.sub
+@cmindex config.guess
+@cmindex config.sub
 These two programs compute the canonical triplets for the given build,
 host, or target architecture.  These programs are updated regularly to
 support new architectures and fix probes broken by changes in new
@@ -2282,26 +2286,31 @@ you are encouraged to fetch the latest versions of these files from
 release.

 @item depcomp
+@cmindex depcomp
 This program understands how to run a compiler so that it will
 generate not only the desired output but also dependency information
 that is then used by the automatic dependency tracking feature
 (@pxref{Dependencies}).

 @item install-sh
+@cmindex install-sh
 This is a replacement for the @command{install} program that works on
 platforms where @command{install} is unavailable or unusable.

 @item mdate-sh
+@cmindex mdate-sh
 This script is used to generate a @file{version.texi} file.  It examines
 a file and prints some date information about it.

 @item missing
+@cmindex missing @r{program}
 This wraps a number of programs that are typically only required by
 maintainers.  If the program in question doesn't exist, or seems too old,
 @command{missing} will print an informative warning before failing out,
 to provide the user with more context and information.

 @item mkinstalldirs
+@cmindex mkinstalldirs
 This script used to be a wrapper around @samp{mkdir -p}, which is not
 portable.  Now we prefer to use @samp{install-sh -d} when @command{configure}
 finds that @samp{mkdir -p} does not work, this makes one less script to
@@ -2312,19 +2321,26 @@ distributed when @command{automake} finds it in a package.  But it is no
 longer installed automatically, and it should be safe to remove it.

 @item py-compile
+@cmindex py-compile
 This is used to byte-compile Python scripts.

 @item test-driver
+@cmindex test-driver
 This implements the default test driver offered by the parallel
 testsuite harness.

 @item texinfo.tex
-Not a program, this file is required for @samp{make dvi}, @samp{make
-ps} and @samp{make pdf} to work when Texinfo sources are in the
-package.  The latest version can be downloaded from
-@url{https://www.gnu.org/software/texinfo/}.
+@cmindex texinfo.tex
+When Texinfo sources are in the package, this file is required for
+@samp{make dvi}, @samp{make ps} and @samp{make pdf}. The latest
+version can be downloaded from
+@url{https://www.gnu.org/software/texinfo/}.  A working @TeX{}
+distribution, or at least a @file{tex} program, is also required.
+Furthermore, @samp{make dist} invokes @samp{make dvi}, so these become
+requirements for making a distribution with Texinfo sources.

 @item ylwrap
+@cmindex ylwrap
 This program wraps @command{lex} and @command{yacc} to rename their
 output files.  It also ensures that, for instance, multiple
 @command{yacc} instances can be invoked in a single directory in

compile finished at Thu May  7 18:25:45 2020




Information forwarded to bug-automake <at> gnu.org:
bug#7994; Package automake. (Fri, 08 May 2020 01:46:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Jun 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 330 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.