Building Make out of Git: Gettext requirements
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
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
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
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
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
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
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
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