Bug#370282: Worth mentioning that Gnome needs a fix for newer
Autoconf?
Ben Pfaff
blp at cs.stanford.edu
Sun Jun 4 18:36:17 UTC 2006
Loïc Minier reported in the Debian package's bug system that
Gnome packages will break with the introduction of
${datarootdir}. It looks to me like the real problem is really
in the macro used by Gnome, and I've suggested that they fix it
using what the Autoconf manual suggests in the Defining
Directories node.
However, I wonder whether it's worth mentioning breakage of
important software like Gnome in Autoconf's NEWS (or elsewhere),
and I told Loïc that I'd make that suggestion here. Consider it
made :-)
-------------------- Start of forwarded message --------------------
Subject: Bug#370282: Introduction of datarootdir causes regression in macros expecting double-expansion to work
Reply-To: Loïc Minier <lool at dooz.org>, 370282 at bugs.debian.org
Resent-From: Loïc Minier <lool at dooz.org>
Resent-To: debian-bugs-dist at lists.debian.org
Resent-CC: Ben Pfaff <pfaffben at debian.org>
Resent-Date: Sun, 04 Jun 2006 14:48:13 UTC
Resent-Message-ID: <handler.370282.B.114942891018747 at bugs.debian.org>
Date: Sun, 4 Jun 2006 15:47:55 +0200
From: Loïc Minier <lool at dooz.org>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Message-ID: <20060604134755.GA10342 at bee.dooz.org>
Package: autoconf
Version: 2.59.cvs.2006.06.02-2
Severity: normal
Hi,
(This probably ain't an autoconf bug, but I'm filing it here because it
is exposed by the introduction of datarootdir in newer autoconf and
will hit the non-negligible number of applications using the
"AM_GLIB_DEFINE_LOCALEDIR" macro...)
In short, old autoconf:
--prefix=PREFIX install architecture-independent files in PREFIX
--datadir=DIR read-only architecture-independent data [PREFIX/share]
new autoconf:
--prefix=PREFIX install architecture-independent files in PREFIX
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
The problem is in AM_GLIB_DEFINE_LOCALEDIR from
m4macros/glib-gettext.m4 which hardcodes a double shell expansion:
localedir=`eval echo "${datadir}/locale"`
this results in a config.h with:
#define GNOMELOCALEDIR "${prefix}/share/locale"
which will obviously break at runtime.
I verified that adding another level of expansion:
localedir=`eval echo "${localedir}"`
fixes the problem.
I doubt you will want to revert that autoconf change, and I don't know
whether other macros are affected by this change, but I thought the bug
tracker should see this bug. In the end, you might want to document
this incompatibility in some upgrading documentation.
I've reported the problem of the AM_GLIB_DEFINE_LOCALEDIR macro at:
<http://bugzilla.gnome.org/show_bug.cgi?id=343825>
feel free to subscribe upstream to follow the discussion.
Right now, all I can think of to workaround the problem is to add
another level of expansion in all cases in the macro, or to pass
at least datarootdir or datadir to configure flags. I would be glad if
you can provide some help in handling this large breakage though.
Bye,
--
Loïc Minier <lool at dooz.org>
-------------------- End of forwarded message --------------------
--
"Ho ho ho. I _so_ enjoy making a fool out of myself."
--Linus, on Christmas Day, 2000
More information about the Pkg-gnome-maintainers
mailing list