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