Re: automake/autoreconf: Incomprehensible error messages bugs

2005-02-02 Thread Paul Eggert
Bruce Korb [EMAIL PROTECTED] writes:

 On Tuesday 25 January 2005 01:47 pm, Alexandre Duret-Lutz wrote:
 ... Maybe the autoreconf documentation should point to the Gettext
 manual.  Care to patch the Autoconf manual?

 Below.  :-)

Thanks.  I rewrote it a bit, and added a proper cross reference and
some index entries, and installed the following.

2005-02-01  Paul Eggert  [EMAIL PROTECTED]

* doc/autoconf.texi (autoreconf Invocation): Mention autopoint,
with a cross reference.  Derived from a suggestion by Bruce Korb.

--- autoconf.texi.~1.870.~  2005-01-31 16:36:10 -0800
+++ autoconf.texi   2005-02-01 12:41:54 -0800
@@ -1451,6 +1451,15 @@ method handles the timestamps of configu
 properly, but does not pass @[EMAIL PROTECTED] or
 @[EMAIL PROTECTED]
 
[EMAIL PROTECTED] Gettext
[EMAIL PROTECTED] @command{autopoint}
+Gettext supplies the @command{autopoint} command to add translation
+infrastructure to a source package.  If you use @command{autopoint},
+your @file{configure.ac} should invoke both @code{AM_GNU_GETTEXT} and
[EMAIL PROTECTED](@var{gettext-version})}.  @xref{autopoint
+Invocation,, Invoking the @code{autopoint} Program, gettext, GNU
[EMAIL PROTECTED] utilities}, for further details.
+
 @noindent
 @command{autoreconf} accepts the following options:
 




Re: automake/autoreconf: Incomprehensible error messages bugs

2005-01-30 Thread Bruce Korb
On Tuesday 25 January 2005 01:47 pm, Alexandre Duret-Lutz wrote:
 $ autoreconf
 autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not 
 AM_GNU_GETTEXT_VERSION
   
1.  The automake example of AM_GNU_GETTEXT does not show
 AM_GNU_GETTEXT_VERSION being used in conjunction with it.
In fact, it isn't even documented at all.

  Bruce Um, okay, but if automake is going to emit the message, then it only
  Bruce makes sense (to me) that automake include the documentation.  
 
 That would make sense to me too.  However automake is not
 emitting the message, autoreconf does.  Actually automake knows
 nothing about AM_GNU_GETTEXT_VERSION: it's none of its business.

OK.  autoreconf then:)

  # --- #
  # Running autopoint.  #
  # --- #

  # Gettext is a bit of a problem: its macros are not necessarily
  # visible to aclocal, so if we start with a completely striped down
  # package (think of a fresh CVS checkout), running `aclocal' first
  # will fail: the Gettext macros are missing.
  #
  # Therefore, we can't use the traces to decide if we use Gettext or
  # not.  I guess that once Gettext move to 2.5x we will be able to,
  # but in the meanwhile forget it.
  #
  # We can only grep for AM_GNU_GETTEXT_VERSION in configure.ac.  You
  # might think this approach is naive, and indeed it is, as it
  # prevents one from embedding AM_GNU_GETTEXT_VERSION in another *.m4, but
  # anyway we don't limit the generality, since... that's what
  # autopoint does.  Actually, it is even more restrictive, as it
  # greps for `^AM_GNU_GETTEXT_VERSION\('.  We did this above, while
  # scanning configure.ac.

 Maybe the autoreconf documentation should point to the Gettext
 manual.  Care to patch the Autoconf manual?

Below.  :-)

Cheers,
  Bruce

Index: autoconf.texi
===
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.868
diff -b -B -u -p -r1.868 autoconf.texi
--- autoconf.texi   28 Jan 2005 21:55:57 -  1.868
+++ autoconf.texi   30 Jan 2005 17:47:44 -
@@ -1436,10 +1436,10 @@ System in a fresh tree.

 @command{autoreconf} runs @command{autoconf}, @command{autoheader},
 @command{aclocal}, @command{automake}, @command{libtoolize}, and
[EMAIL PROTECTED] (when appropriate) repeatedly to update the
[EMAIL PROTECTED] (when appropriate, see below) repeatedly to update the
 @acronym{GNU} Build System in the specified directories and their
-subdirectories (@pxref{Subdirectories}).  By default, it only remakes
-those files that are older than their sources.
+subdirectories (@pxref{Subdirectories}).  By default, it only remakes those
+files that are older than their sources.

 If you install a new version of some tool, you can make
 @command{autoreconf} remake @emph{all} of the files by giving it the
@@ -1451,6 +1451,13 @@ method handles the timestamps of configu
 properly, but does not pass @[EMAIL PROTECTED] or
 @[EMAIL PROTECTED]

[EMAIL PROTECTED] is GNU's gettext program to add the gettext
+infrastructure necessary for a source package.  @command{autopoint} will be
+run if the macro [EMAIL PROTECTED]'' is found in the
[EMAIL PROTECTED] file.  That program relies on another macro
[EMAIL PROTECTED](gtxt-ver)}'' which must @emph{also} be present in
[EMAIL PROTECTED]  See the GNU Gettext documentation for further details.
+
 @noindent
 @command{autoreconf} accepts the following options:





Re: automake/autoreconf: Incomprehensible error messages bugs

2005-01-25 Thread Noah Misch
On Sun, Jan 23, 2005 at 09:28:36AM -0800, Bruce Korb wrote:
  $ autoreconf
  autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not 
  AM_GNU_GETTEXT_VERSION

 1.  The automake example of AM_GNU_GETTEXT does not show
  AM_GNU_GETTEXT_VERSION being used in conjunction with it.
 In fact, it isn't even documented at all.

See the gettext documentation.  `autopoint' uses AM_GNU_GETTEXT_VERSION (and
fails without it), so `autoreconf' does not run `autopoint' if `configure.ac'
does not call `AM_GNU_GETTEXT_VERSION'.  This is not actually a fatal error;
the message probably should begin ``autoreconf: warning: ...''.

 2.  Surely the message, cannot empty /tmp/ar0.4849: Is a directory
  can be made more meaningful.  What _does_ it mean?
  (Besides being the error message rm will give you.  :)

The message is not meaningful because this Never Happens :)

autoreconf tried to delete the contents of its temporary directory, and then the
directory itself.  The former failed silently, so the latter failed noisely.  I
hit this once before with a broken Perl (Slackware 3.3, 5.004_03 IIRC) where
Perl's globbing mysteriously returned an empty list every time.  You can try a
simple `perl -e 'print *' in a nonempty directory; if it prints nothing, that
is your problem, too.  It certainly may be something entirely different, though.

What type of system is this?  What version of Perl?




Re: automake/autoreconf: Incomprehensible error messages bugs

2005-01-25 Thread Bruce Korb
On Tuesday 25 January 2005 01:37 am, Noah Misch wrote:
 On Sun, Jan 23, 2005 at 09:28:36AM -0800, Bruce Korb wrote:
   $ autoreconf
   autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not 
   AM_GNU_GETTEXT_VERSION
 
  1.  The automake example of AM_GNU_GETTEXT does not show
   AM_GNU_GETTEXT_VERSION being used in conjunction with it.
  In fact, it isn't even documented at all.
 
 See the gettext documentation.  `autopoint' uses AM_GNU_GETTEXT_VERSION (and
 fails without it), so `autoreconf' does not run `autopoint' if `configure.ac'
 does not call `AM_GNU_GETTEXT_VERSION'.  This is not actually a fatal error;
 the message probably should begin ``autoreconf: warning: ...''.

Um, okay, but if automake is going to emit the message, then it only
makes sense (to me) that automake include the documentation.  Also,
if you're going to have a AM_GNU_GETTEXT example in the doc, wouldn't
it also make sense to have a correct example?  Which, of course, raises
the question of why the two are not combined, but probably after I locate
the gettext distribution, download it, build it, install it and read the doc,
I'd probably know the answer.  Uh, a bit heavy duty to just get an answer
to the question, don't you think?  ;-)

  2.  Surely the message, cannot empty /tmp/ar0.4849: Is a directory
   can be made more meaningful.  What _does_ it mean?
   (Besides being the error message rm will give you.  :)
 
 The message is not meaningful because this Never Happens :)

Ah.  Good.  Then I didn't see it.  :)

 autoreconf tried to delete the contents of its temporary directory, and then 
 the
 directory itself.  The former failed silently, so the latter failed noisely.  
 I
 hit this once before with a broken Perl (Slackware 3.3, 5.004_03 IIRC) where
 Perl's globbing mysteriously returned an empty list every time.  You can try a
 simple `perl -e 'print *' in a nonempty directory; if it prints nothing, 
 that
 is your problem, too.  It certainly may be something entirely different, 
 though.
 
 What type of system is this?  What version of Perl?

 $ uname -a
 Linux bach 2.6.5-7.97-default #1 Fri Jul 2 14:21:59 UTC 2004 i686 athlon i386 
 GNU/Linux
 $ cat /etc/[Ss]*release
 SUSE LINUX Enterprise Server 9 (i586)
 VERSION = 9
 $ perl -e 'print *'
 ahAqZXRxam4t1e7x8Oam4tCpTneDam4tiZINdqam4tjiZAF1am4tu48Whq
 $ ls
 ahAqZXRx  am4t1e7x8O  am4tCpTneD  am4tiZINdq  am4tjiZAF1  am4tu48Whq
 $ perl --version
 
 This is perl, v5.8.3 built for i586-linux-thread-multi
 
 Copyright 1987-2003, Larry Wall

In chasing this down, I also noticed that my /tmp directory was packed full of
ah* am* cg* ar* directories left lying around.  Full of stuff, too.  Can I 
suppose
that if I can find the cause of this problem I won't see this ditrius either?

Thanks!! - Bruce




Re: automake/autoreconf: Incomprehensible error messages bugs

2005-01-25 Thread Alexandre Duret-Lutz
 Bruce == Bruce Korb [EMAIL PROTECTED] writes:

 Bruce On Tuesday 25 January 2005 01:37 am, Noah Misch wrote:
  On Sun, Jan 23, 2005 at 09:28:36AM -0800, Bruce Korb wrote:
$ autoreconf
autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not 
AM_GNU_GETTEXT_VERSION
  
   1.  The automake example of AM_GNU_GETTEXT does not show
AM_GNU_GETTEXT_VERSION being used in conjunction with it.
   In fact, it isn't even documented at all.
  
  See the gettext documentation.
[...]

 Bruce Um, okay, but if automake is going to emit the message, then it only
 Bruce makes sense (to me) that automake include the documentation.  

That would make sense to me too.  However automake is not
emitting the message, autoreconf does.  Actually automake knows
nothing about AM_GNU_GETTEXT_VERSION: it's none of its business.

Maybe the autoreconf documentation should point to the Gettext
manual.  Care to patch the Autoconf manual?

 Bruce Also, if you're going to have a AM_GNU_GETTEXT example
 Bruce in the doc, wouldn't it also make sense to have a
 Bruce correct example?  

Yes!  I believe you are talking about the GNU Hello example
included in the Automake manual.  This example comes from a very
old release of GNU Hello and is completely out of date.  But
there is an ongoing story behind this.  Things are moving, but
slowly.

Please see (in that order):

  http://lists.gnu.org/archive/html/bug-gnu-utils/2004-11/msg00099.html
  http://lists.gnu.org/archive/html/bug-hello/2004-12/msg8.html
  http://www-src.lip6.fr/homepages/Alexandre.Duret-Lutz/autotools.html

-- 
Alexandre Duret-Lutz





automake/autoreconf: Incomprehensible error messages bugs

2005-01-23 Thread Bruce Korb
 $ autoreconf
 autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not 
 AM_GNU_GETTEXT_VERSION
 autoreconf: cannot empty /tmp/ar0.4849: Is a directory
 $ find /tmp/ar0.4849
 /tmp/ar0.4849
 /tmp/ar0.4849/am4tu48Whq
 /tmp/ar0.4849/am4tCpTneD
 /tmp/ar0.4849/am4tiZINdq
 /tmp/ar0.4849/ahAqZXRx
 /tmp/ar0.4849/am4tjiZAF1
 /tmp/ar0.4849/am4t1e7x8O

1.  The automake example of AM_GNU_GETTEXT does not show
 AM_GNU_GETTEXT_VERSION being used in conjunction with it.
In fact, it isn't even documented at all.

2.  Surely the message, cannot empty /tmp/ar0.4849: Is a directory
 can be made more meaningful.  What _does_ it mean?
 (Besides being the error message rm will give you.  :)

Thanks - Bruce