Building Make out of Git: Gettext requirements

2013-04-20 Thread Eli Zaretskii
Trying to build the current git head, I get this:

  $ autoreconf -i
  autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
   file requires the infrastructure from gettext-0.18.1 but this version
   is older. Please upgrade to gettext-0.18.1 or newer.
  autopoint: *** Stop.
  autoreconf: autopoint failed with exit status: 1

I have gettext-0.17 on this machine.

Do we really need to require 0.18.1 or can this restriction be lifted?
I hacked configure.ac to require 0.17, and didn't see any problems
afterwards.

(I hate it when each package I build insists that I upgrade to the
latest and the greatest of each of its dependencies.  When I build a
package, I don't necessarily intend to upgrade my entire system as
part of that build; in particular, I might have very good reasons for
sticking with older versions.  Sorry about the rant...)

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Paul Smith
On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
 Do we really need to require 0.18.1 or can this restriction be lifted?
 I hacked configure.ac to require 0.17, and didn't see any problems
 afterwards.

You can see this bug:

http://savannah.gnu.org/bugs/?37307

I confess I didn't get a satisfactory answer to my question, of why the
minimum version in configure.ac must be changed.  It seems to me that if
I build the make distribution tarball with a newer version of gettext,
regardless of the minimum version specified in configure.ac, it should
be good enough.

However, Brad was clear that he believed that the minimum version MUST
be increased in configure.ac in order to get the benefits.  I was going
to build with the new version anyway so I just changed it.

If this is a problem we can get back into it and ask Brad for more
clarification, and maybe check on the OpenBSD lists for details.


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Stefano Lattarini
On 04/20/2013 05:44 PM, Paul Smith wrote:
 On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
 Do we really need to require 0.18.1 or can this restriction be lifted?
 I hacked configure.ac to require 0.17, and didn't see any problems
 afterwards.
 
 You can see this bug:
 
 http://savannah.gnu.org/bugs/?37307
 
 I confess I didn't get a satisfactory answer to my question, of why the
 minimum version in configure.ac must be changed.  It seems to me that if
 I build the make distribution tarball with a newer version of gettext,
 regardless of the minimum version specified in configure.ac, it should
 be good enough.

I'm not sure of this -- I believe that gettext tries to use the data files
for the version actually specified in AM_GNU_GETTEXT_VERSION, even when a
more modern gettext is being used; for more details, see the commit message
for this Automake commit

  http://git.savannah.gnu.org/cgit/automake.git/commit/?id=030ecb45

This seems confirmed by the Gettext manual:

AM_GNU_GETTEXT_VERSION (in gettext.m4)
--
The AM_GNU_GETTEXT_VERSION macro declares the version number of the
GNU gettext infrastructure that is used by the package.

See? There is no mention of minimal required version number --- it only
speaks about *the* version number.

Not sure if and how this is relevant for your situation, but might be something
to consider.

 However, Brad was clear that he believed that the minimum version MUST
 be increased in configure.ac in order to get the benefits.

I believe he's right, in light of the above.

 I was going
 to build with the new version anyway so I just changed it.
 
 If this is a problem we can get back into it and ask Brad for more
 clarification, and maybe check on the OpenBSD lists for details.
 

Me goes back on lurking now...

Regards,
  Stefano

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Eli Zaretskii
 From: Paul Smith p...@mad-scientist.net
 Cc: bug-make@gnu.org
 Date: Sat, 20 Apr 2013 11:44:02 -0400
 
 On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
  Do we really need to require 0.18.1 or can this restriction be lifted?
  I hacked configure.ac to require 0.17, and didn't see any problems
  afterwards.
 
 You can see this bug:
 
 http://savannah.gnu.org/bugs/?37307

That just says you must use Gettext 0.18 to be able to avoid static
linking.  It doesn't say the build won't work

 I confess I didn't get a satisfactory answer to my question, of why the
 minimum version in configure.ac must be changed.  It seems to me that if
 I build the make distribution tarball with a newer version of gettext,
 regardless of the minimum version specified in configure.ac, it should
 be good enough.

That is also my understanding.  The macros in config/ are produced
when you run autoreconf as part of tarring the release.

If that is indeed the case, it is simply wrong to bump the required
version.

But even if building the tarball is not enough, it is IMO wrong to
solve the problem like this.  For starters, it punishes OpenBSD users
themselves, because previously they could build Make, albeit
statically linked with gettet -- now they won't be able to do that at
all, unless they upgrade Gettext!

And it is certainly wrong wrt users of other platforms, which didn't
have the problem in the first place.

How about replacing the requirement with a warning, when the host is
OpenBSD?

 However, Brad was clear that he believed that the minimum version MUST
 be increased in configure.ac in order to get the benefits.

I don't see how he could be right in that.

 If this is a problem we can get back into it and ask Brad for more
 clarification, and maybe check on the OpenBSD lists for details.

I think we should indeed ask him.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Eli Zaretskii
 Date: Sat, 20 Apr 2013 17:56:45 +0200
 From: Stefano Lattarini stefano.lattar...@gmail.com
 CC: Eli Zaretskii e...@gnu.org, bug-make@gnu.org
 
 On 04/20/2013 05:44 PM, Paul Smith wrote:
  On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
  Do we really need to require 0.18.1 or can this restriction be lifted?
  I hacked configure.ac to require 0.17, and didn't see any problems
  afterwards.
  
  You can see this bug:
  
  http://savannah.gnu.org/bugs/?37307
  
  I confess I didn't get a satisfactory answer to my question, of why the
  minimum version in configure.ac must be changed.  It seems to me that if
  I build the make distribution tarball with a newer version of gettext,
  regardless of the minimum version specified in configure.ac, it should
  be good enough.
 
 I'm not sure of this -- I believe that gettext tries to use the data files
 for the version actually specified in AM_GNU_GETTEXT_VERSION, even when a
 more modern gettext is being used;

Are you saying that, if AM_GNU_GETTEXT_VERSION specifies, say, 0.17,
but the person who runs autoreconf has _only_ 0.18 installed, then
autoreconf will fail because autopoint cannot find Gettext 0.17???

 for more details, see the commit message for this Automake commit
 
   http://git.savannah.gnu.org/cgit/automake.git/commit/?id=030ecb45

That commit message seems to also suggest a work-around, or maybe I'm
missing something.

 This seems confirmed by the Gettext manual:
 
 AM_GNU_GETTEXT_VERSION (in gettext.m4)
 --
 The AM_GNU_GETTEXT_VERSION macro declares the version number of the
 GNU gettext infrastructure that is used by the package.
 
 See? There is no mention of minimal required version number --- it only
 speaks about *the* version number.

What happens if there's no AM_GNU_GETTEXT_VERSION call in
configure.ac?

 Not sure if and how this is relevant for your situation, but might be 
 something
 to consider.
 
  However, Brad was clear that he believed that the minimum version MUST
  be increased in configure.ac in order to get the benefits.
 
 I believe he's right, in light of the above.

Even if he is, it is IMO wrong to punish everyone because of a single
platform, whose problem is not really fatal (static linking).


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Stefano Lattarini
On 04/20/2013 07:00 PM, Eli Zaretskii wrote:
 Date: Sat, 20 Apr 2013 17:56:45 +0200
 From: Stefano Lattarini stefano.lattar...@gmail.com
 CC: Eli Zaretskii e...@gnu.org, bug-make@gnu.org

 On 04/20/2013 05:44 PM, Paul Smith wrote:
 On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
 Do we really need to require 0.18.1 or can this restriction be lifted?
 I hacked configure.ac to require 0.17, and didn't see any problems
 afterwards.

 You can see this bug:

 http://savannah.gnu.org/bugs/?37307

 I confess I didn't get a satisfactory answer to my question, of why the
 minimum version in configure.ac must be changed.  It seems to me that if
 I build the make distribution tarball with a newer version of gettext,
 regardless of the minimum version specified in configure.ac, it should
 be good enough.

 I'm not sure of this -- I believe that gettext tries to use the data files
 for the version actually specified in AM_GNU_GETTEXT_VERSION, even when a
 more modern gettext is being used;
 
 Are you saying that, if AM_GNU_GETTEXT_VERSION specifies, say, 0.17,
 but the person who runs autoreconf has _only_ 0.18 installed, then
 autoreconf will fail because autopoint cannot find Gettext 0.17???
 
No.  Unless I'm badly mis-reading the code in the autopoint script, gettext 
0.x.y
comes with the infrastructure files for *all* the versions = 0.x.y, and select
which one to use based on the argument given to AM_GNU_GETTEXT_VERSION.

 for more details, see the commit message for this Automake commit

   http://git.savannah.gnu.org/cgit/automake.git/commit/?id=030ecb45
 
 That commit message seems to also suggest a work-around, or maybe I'm
 missing something.
 
 This seems confirmed by the Gettext manual:

 AM_GNU_GETTEXT_VERSION (in gettext.m4)
 --
 The AM_GNU_GETTEXT_VERSION macro declares the version number of the
 GNU gettext infrastructure that is used by the package.

 See? There is no mention of minimal required version number --- it only
 speaks about *the* version number.
 
 What happens if there's no AM_GNU_GETTEXT_VERSION call in
 configure.ac?

I'm not sure, but I think gettext will bail out (again, this is based on my
reading of the autopoint script, reading which might be wrong).

 Not sure if and how this is relevant for your situation, but might be 
 something
 to consider.

 However, Brad was clear that he believed that the minimum version MUST
 be increased in configure.ac in order to get the benefits.

 I believe he's right, in light of the above.
 
 Even if he is, it is IMO wrong to punish everyone because of a single
 platform, whose problem is not really fatal (static linking).
 
That is another matter altogether, which I have no opinion about :-)
I'll leave to you to sort it out.

And to reiterate: I'm no gettext expert, and my understanding of its behaviour
might be skewed or wrong --- so don't trust any of my assertion above blindly,
without proper double-checking.

HTH,
  Stefano
 explanations above




___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Paul Smith
On Sat, 2013-04-20 at 19:38 +0300, Eli Zaretskii wrote:
  From: Paul Smith p...@mad-scientist.net
  Cc: bug-make@gnu.org
  Date: Sat, 20 Apr 2013 11:44:02 -0400
  
  On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
   Do we really need to require 0.18.1 or can this restriction be lifted?
   I hacked configure.ac to require 0.17, and didn't see any problems
   afterwards.
  
  You can see this bug:
  
  http://savannah.gnu.org/bugs/?37307
 
 That just says you must use Gettext 0.18 to be able to avoid static
 linking.  It doesn't say the build won't work

I didn't say that it said the build wouldn't work.

 But even if building the tarball is not enough, it is IMO wrong to
 solve the problem like this.  For starters, it punishes OpenBSD users
 themselves, because previously they could build Make, albeit
 statically linked with gettet -- now they won't be able to do that at
 all, unless they upgrade Gettext!

I believe this is only a problem building from git.  If you build from a
distribution tarball then you don't need to have any particular version
of gettext installed.  For developers who build from git, they do need
to have certain versions of tools installed.

However, if we build our distribution tarball with an older version of
gettext, then the resulting tarball distribution doesn't work correctly
in this situation.

Upgrading gettext is usually pretty simple, and this release is almost 3
years old.

  However, Brad was clear that he believed that the minimum version MUST
  be increased in configure.ac in order to get the benefits.
 
 I don't see how he could be right in that.

I investigated how this works and he is right, actually.

The GETTEXT_VERSION macro is not used by gettext at all.  It's used by
the autopoint tool, which is run to build distributions from SCM.  It
grabs the gettext M4 files and includes them in the source directory so
autoconf can find them.

The gettext distribution contains an archived version of the entire
source code control repository (!), e.g.
/usr/share/gettext/archive.git.tar.gz which is the contents of a git
repository (.git directory for example).

When autopoint runs it unpacks the archive tarball, then checks out the
tagged version of the M4 files based on the value of GETTEXT_VERSION and
includes those versions of the gettext m4 files in the target.

So, whatever version you put there is the version of the gettext m4
files you'll get, regardless of which version of gettext is installed on
your system.


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: Building Make out of Git: Gettext requirements

2013-04-20 Thread Eli Zaretskii
 From: Paul Smith p...@mad-scientist.net
 Cc: bug-make@gnu.org
 Date: Sat, 20 Apr 2013 14:02:43 -0400
 
 I believe this is only a problem building from git.  If you build from a
 distribution tarball then you don't need to have any particular version
 of gettext installed.  For developers who build from git, they do need
 to have certain versions of tools installed.
 
 However, if we build our distribution tarball with an older version of
 gettext, then the resulting tarball distribution doesn't work correctly
 in this situation.
 
 Upgrading gettext is usually pretty simple, and this release is almost 3
 years old.

Fine, I can continue hacking configure.ac in the future as well.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make