After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 321785 - intltool-update in infinite recursion over gstreamer
intltool-update in infinite recursion over gstreamer
Status: RESOLVED NOTGNOME
Product: intltool
Classification: Deprecated
Component: general
unspecified
Other Linux
: Normal major
: ---
Assigned To: Danilo Segan
intltool maintainers
: 323526 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-11-18 08:46 UTC by Alexander Shopov
Modified: 2012-03-16 12:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
recursive-vars-fix.patch (2.16 KB, patch)
2006-02-14 22:27 UTC, Danilo Segan
committed Details | Review
as-version-support.patch (1.14 KB, patch)
2006-02-14 22:49 UTC, Danilo Segan
needs-work Details | Review

Description Alexander Shopov 2005-11-18 08:46:03 UTC
Version details: CVS HEAD 18.11.2005.
Distribution/Version: Fedora Core 4 uptodate 18.11.2005.

1. Get latest intltool from gnome cvs, install it.

2. Get latest gstreamer from freedesktop.or cvs
cvs -d:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/gstreamer co gstreamer
cd gstreamer/po
intltool-update -pot

And you get the result:

Deep recursion on subroutine "main::SubstituteVariable" at
/home/ash/bin/intltool-update line 878, <CONF> line 53757.

If I do a strace:
strace intltool-update -pot 2> OUT

the file OUT grows really big: > 300MB, the process shows no signs of ending and
I have to kill the process.

I am not attaching the file even bzipped as it is large enough, you may generate
it yourself ;-)

I get the similar problem using:
gst-plugins-base
(cvs -d:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/gstreamer co gst-plugins-base )

Deep recursion on subroutine "main::SubstituteVariable" at
/home/ash/bin/intltool-update line 878, <CONF> line 66627.

Any ideas?

(gettext is 0.14.3-1)
Comment 1 Rodney Dawes 2005-11-21 04:54:27 UTC
So, gstreamer doesn't use intltool. It doesn't define GETTEXT_PACKAGE in
configure.ac, among other things. I'm not immediately sure how to fix this. Once
it is fixed though, it will only give you an error. As a workaround, don't use
intltool on projects that don't support intltool. :)
Comment 2 Sebastien Bacher 2005-12-11 18:57:54 UTC
*** Bug 323526 has been marked as a duplicate of this bug. ***
Comment 3 Danilo Segan 2006-02-14 22:27:31 UTC
Created attachment 59376 [details] [review]
recursive-vars-fix.patch

This fixes this and similar behaviour where other variables call into themselves: but it's still the problem with introduction of AS_VERSION macro which supposedly sets PACKAGE variable, and we expected AC_INIT stuff to set it (FindPackageName basically did "$varhash[PACKAGE]="$PACKAGE", thus entering infinite loop).

Alternative fix is to do similar stuff for AS_VERSION as for AC_INIT if Thomas' macros get really widespread enough.  I'd appreciate comment from thomasvs on this, what's his Bugzilla account?
Comment 4 Danilo Segan 2006-02-14 22:49:29 UTC
Created attachment 59377 [details] [review]
as-version-support.patch

This adds support for AS_VERSION macro instead (alternative solution)
Comment 5 Danilo Segan 2006-02-15 13:36:25 UTC
Thomas, how commonly used is AS_VERSION, and do you want intltool to support it?
Comment 6 Rodney Dawes 2006-02-15 13:55:45 UTC
Danilo, this might solve the inifinite recursion, but it doesn't really help overall, as gstreamer doesn't use intltool in the first place, afaict. We should add a check to make sure that the app you're trying to use intltool-update in, supports intltool, I think. GStreamer is doing a lot of overly complicated things with the m4 macros for configure.in. I'm not sure it's a particularly good use case for adding support for.

Please go ahead and commit recursive-vars-fix.patch though.

Also, your as-version-support.patch seems to be generated from the generated intltool-update script, rather than from intltool-update.in.in. I'm changing the status of this patch to commented-on. I'm still adverse to putting it in, as AS_VERSION is specific to GStreamer.
Comment 7 Danilo Segan 2006-02-15 15:56:55 UTC
Comment on attachment 59377 [details] [review]
as-version-support.patch

It seems to surface in other packages depending on gstreamer: gnome-media does it, and quick Google search (first 10 results uncovers "liboil", "telepathy-sip", "farsight"...), apart from Fluendo stuff.

It might be a worthy contender, but a patch would definitely need more work (i.e. define the same variables AS_VERSION does in as-version.m4 so they are subst'ed as well).

(as for what is patched, this is easier to test, just patch with -p1 and enter intltool-update.in.in ;)
Comment 8 Thomas Vander Stichele 2006-02-15 22:01:57 UTC
I am about to change AS_VERSION a little, because in the later releases of autoconf and automake, you're supposed to run AC_INIT with package name and version, instead of from AM_INIT_AUTOMAKE.


So it probably makes sense to rework this first and get that done in all projects, before tackling intltool support for it.

I'm going to be away for two weeks though, so if it can wait ?
Comment 9 Danilo Segan 2006-02-16 15:59:27 UTC
Well, sure, but I only wonder if the AS_VERSION syntax is changing (that's all we are parsing), and are you planning on setting more and/or different variables.
Comment 10 André Klapper 2012-03-16 12:39:23 UTC
intltool has switched from the GNOME to the launchpad.net infrastructure nearly three years ago: https://mail.gnome.org/archives/gnome-i18n/2009-April/msg00275.html
The intltool product in bugzilla.gnome.org has been deprecated and closed for new bug entry since April 2009.

I am now closing all remaining open reports about intltool as NOTGNOME as part of GNOME Bugzilla Housekeeping.

Reporter: If the problem that you reported here is still valid in a recent version of intltool we kindly ask you to report it again to https://bugs.launchpad.net/intltool/ so the intltool developers get notified about it.