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 <[EMAIL PROTECTED]>, [EMAIL PROTECTED] Resent-From: Loïc Minier <[EMAIL PROTECTED]> Resent-To: debian-bugs-dist@lists.debian.org Resent-CC: Ben Pfaff <[EMAIL PROTECTED]> Resent-Date: Sun, 04 Jun 2006 14:48:13 UTC Resent-Message-ID: <[EMAIL PROTECTED]> Date: Sun, 4 Jun 2006 15:47:55 +0200 From: Loïc Minier <[EMAIL PROTECTED]> To: Debian Bug Tracking System <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> -------------------- End of forwarded message -------------------- -- "Ho ho ho. I _so_ enjoy making a fool out of myself." --Linus, on Christmas Day, 2000