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 154382 - gnome-panel compilation broken with intltool CVS HEAD
gnome-panel compilation broken with intltool CVS HEAD
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: general
unspecified
Other Linux
: Immediate blocker
: ---
Assigned To: Panel Maintainers
Panel Maintainers
: 155225 (view as bug list)
Depends on: 160943
Blocks:
 
 
Reported: 2004-10-03 16:38 UTC by Christophe Fergeau
Modified: 2005-02-01 12:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christophe Fergeau 2004-10-03 16:38:23 UTC
LC_ALL=C ../intltool-merge -s -u -c ../po/.intltool-merge-cache ../po
panel-global.schemas.in panel-global.schemas
Possible unintended interpolation of @INTLTOOL_ICONV in string at
../intltool-merge line 94.
Global symbol "@INTLTOOL_ICONV" requires explicit package name at
../intltool-merge line 94.
BEGIN not safe after errors--compilation aborted at ../intltool-merge line 250.

If I downgrade intltool to 1 week ago, it's working again.
Comment 1 Danilo Segan 2004-10-03 20:34:17 UTC
Hum, it works fine for me, so it's probably dependent on your system setup. 
Since this is error in intltool-build, it's not relevant if it happens in
gnome-panel or now (it will probably fail as well with simple "make check" for you).

It seems as if replacement of @INTLTOOL_ICONV@ in intltool-merge has failed
somehow during make (look at Makefile.am, where this is done).

I don't have much clue into this, but I'd try looking into config.log for where
iconv has been found (if at all).

What this recent intltool should be doing is the following:
- find iconv in your PATH during configure
- use that while producing intltool-merge from intltool-merge.in

I don't know what might be failing on your system, and I'd appreciate if you
find some time to take a look.

Rodney, do you have any idea?
Comment 2 Danilo Segan 2004-10-03 20:59:29 UTC
Also, here's the bug where this was introduced (for reference):
http://bugzilla.gnome.org/show_bug.cgi?id=152020
Comment 3 Rodney Dawes 2004-10-03 21:22:22 UTC
Is this gnome-panel HEAD as well?
Comment 4 Rodney Dawes 2004-10-03 21:26:25 UTC
Hrmm. It's working fine for me too. I wonder what would break this. I do get
this now, though:

./config.status: line 1: top_builddir: command not found

However, I can't see what is going wrong, since that is not in line 1 of
config.status.
Comment 5 Christophe Fergeau 2004-10-03 21:32:27 UTC
Yeah, gnome-panel HEAD too. But it seems @INTLTOOL_ICONV@ isn't properly
substituted during intltool compilation even though afaict iconv is found properly
I'll try with a clean checkout of intltool.
Comment 6 Rodney Dawes 2004-10-03 21:57:33 UTC
Talked with Christophe on irc about this. Looks like it is a problem with the
ACLOCAL_FLAGS and having multiple copies of intltool installed (system, and
jhbuild). Marking as NOTABUG. So, this happens because jhbuild intltool gets
run, and the intltool.m4 from the system gets pulled in by aclocal.
Comment 7 Rodney Dawes 2004-10-12 19:25:24 UTC
*** Bug 155225 has been marked as a duplicate of this bug. ***
Comment 8 Mikael Hallendal 2004-10-12 20:43:09 UTC
Hmm, it should be possible to have multiple intltools installed, right? So it is
indeed a bug and it was just introduced...
Comment 9 Danilo Segan 2004-10-12 22:36:04 UTC
Mikael, I think this is a problem of aclocal, and precedence it gives to
ACLOCAL_FLAGS variable: it seems to be evaluated last, instead of first.

It should be perfectly possible to still have more than one version of intltool
installed, as long as right m4 macros are picked up. Perhaps you should try
bootstrapping autoconf as well from within jhbuild, and see if that helps?

(note that I'm just guessing here :)
Comment 10 Mikael Hallendal 2004-10-12 23:05:11 UTC
This was from a clean bootstrap, 

jhbuild bootstrap
jhbuild build

in a clean directory.

Not sure how to handle it but if it's a bug in aclocal the bug wasn't exposed
until some changes made lately, any way they can still be worked around in
intltool (or the changes reverted to hide the issue until it's fixed in aclocal?).
Comment 11 Rodney Dawes 2004-10-13 03:24:53 UTC
No. It isn't a problem in intltool or aclocal. It's a problem in jhbuild. If you
want jhbuild to work, you need to fix it to re-order flags so that the jhbuild
install dir is preferred over the system dir. If you don't do that, you are
going to have problems with more things than intltool, and I presume you already
have them, but they aren't showing up as publicly.
Comment 12 Danilo Segan 2004-10-13 08:48:43 UTC
Hum, everything works fine for me even if I install intltool 0.31.2 in my
default path, and latest intltool in jhbuild path (they have different
intltool.m4's). So, jhbuild still picks up the correct version.

In "jhbuild shell", ACLOCAL_FLAGS is set to single directory (-I
jhbuildroot/share/aclocal), so it's supposed to be correct (that's why I assumed
it might be doing something funky).  One should also be able to add more paths
via .jhbuildrc (see jhbuild/README for how to do that).

I agree that this is neither intltool nor autoconf bug (until proven otherwise :).
Comment 13 Mikael Hallendal 2004-10-13 09:08:24 UTC
I agree that it might not be a bug in intltool or autoconf, but it's a *problem*
for intltool since you changed something to expose this problem. And since
jhbuild is the official way for developers to build GNOME I suggest that this
gets fixed in jhbuild or you'll get a lot of bug reports about it...

Comment 14 Rodney Dawes 2004-10-13 14:00:19 UTC
Regressing to a buggier state to work around a configuration problem exposed by
a bug fix, seems silly to me. If jhbuild is "the official way" then there needs
to be "an official environment" for which to run jhbuild under, otherwise you
are going to run into problems no matter what. Having ACLOCAL_FLAGS set, so that
it pulls in a system installation over the jhbuild installation, seems broken,
if the jhbuild installation is not the system directory. I'm moving this to the
jhbuild product and reopening. Though, Danilo claims to not be able to reproduce
it, so it may very well just be a problem with something setting ACLOCAL_FLAGS
incorrectly in /etc/profile.d/ or something. I'll let James deal with it though. :)
Comment 15 Mikael Hallendal 2004-10-13 14:03:06 UTC
Ok, I'll remove myself from the CC-line, ciao.
Comment 16 James Henstridge 2004-10-14 01:39:06 UTC
Since this bug seems to have been assigned to me, does anyone have any
information about how to reproduce it?

From a quick look at the gnome-panel source, it is possible that it might
occasionally lose the $ACLOCAL_FLAGS value during a rebuild.  Is that likely to
be the problem?
Comment 17 James Henstridge 2004-10-25 10:57:36 UTC
So no one knows how to reproduce this bug?  If I don't see any activity in the
next week, I'll close this bug report.
Comment 18 Christophe Fergeau 2004-10-28 21:35:57 UTC
If you install intltool using your distro packages and using jhbuild, set
ACLOCAL_FLAGS to "-I /usr/share/aclocal -I $jhbuild_prefix/share/aclocal" and
try to build gnome-panel, I guess you'll get this bug.
Comment 19 James Henstridge 2004-10-29 02:23:47 UTC
Won't that cause you to end up with mismatched versions of intltool.m4 and the
intltool-*.in scripts?

That sounds like a problem with your environment rather than a problem with
intltool or gnome-panel or jhbuild.
Comment 20 Christophe Fergeau 2004-10-29 08:35:43 UTC
Yeah, I know it's a bad setup, but this is how I got bitten by this bug in the
first place. You were asking how to reproduce, so I told you how that happened
to me, I totally understand if you say it's my fault and not jhbuild's ;)
Comment 21 James Henstridge 2005-01-24 04:26:44 UTC
Reassigning back to gnome-panel, since bug 160943 has been fixed.

You can now set up your module so that both the autoconf macros and other
support files are copied in by intltoolize.  This gets rid of problems where the
aclocal search path picks a version of the AC_PROG_INTLTOOL macro that is
incompatible with the intltool-* scripts (as Christophe ran into).

To take advantage of this, you need to do the following:

1) use Automake >= 1.8
2) create an "m4" subdirectory in your project
3) add the following near the top of your configure.in/ac file:
    AC_CONFIG_MACRO_DIR(m4)
4) If you aren't using the gnome-common autogen.sh, change the aclocal
   invocation to this:
    aclocal-X.Y -I m4 $ACLOCAL_FLAGS
5) To make sure rebuilds work right, add an AC_SUBST for ACLOCAL_AMFLAGS like
   this:
    AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \${ACLOCAL_FLAGS}"])
   (this should come after AC_CONFIG_MACRO_DIR()).

Now when you run autogen.sh, intltoolize will copy the intltool.m4 macro to the
m4/ subdirectory, and aclocal will reference that version in aclocal.m4 (and
since the same program is copying intltool.m4 and
intltool-{update,merge,extract}.in, those files should be in sync).

Automake >= 1.8 will automatically distribute such referenced macros, so you
shouldn't need to make any makefile changes.
Comment 22 Vincent Untz 2005-01-28 14:00:38 UTC
I'm not an autofoo expert so please be gentle with me :-)
This isn't specific to gnome-panel, is it? Every module should be changed like
that...

I'm ok with 1), but 2) won't work since the m4 directory will be empty and won't
be checked out using cvs if people use -p...
Comment 23 James Henstridge 2005-01-31 10:14:50 UTC
The problem with "cvs update -p" can be fixed by putting a .cvsignore file in
the m4/ subdirectory.  This will cause the directory to stick around, and you
probably want the file in order to prevent "intltool.m4" from getting checked
into CVS.

And yes, this is probably something that most packages will want to do in the
future.  Of course, at the moment it only really helps packages that are using a
build tool that can copy m4 files into the macros dir (which will be a lot more
once Libtool 2.0 is out).
Comment 24 Vincent Untz 2005-02-01 12:53:54 UTC
Fixed in HEAD. Thanks