GNU bug report logs - #8493
autoconf fails if env var U set

Previous Next

Package: automake;

Reported by: Eric Blake <eblake <at> redhat.com>

Date: Wed, 13 Apr 2011 17:46:02 UTC

Severity: normal

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#8493: closed (autoconf fails if env var U set)
Date: Tue, 01 Nov 2011 16:22:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 1 Nov 2011 17:19:08 +0100
with message-id <201111011719.08737.stefano.lattarini <at> gmail.com>
and subject line Re: autoconf fails if env var U set
has caused the debbugs.gnu.org bug report #8493,
regarding autoconf fails if env var U set
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
8493: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8493
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eric Blake <eblake <at> redhat.com>
To: Tim Wallace <twallace <at> ll.mit.edu>
Cc: tgl <at> sss.pgh.pa.us, bug-automake <at> gnu.org, bug-autoconf <at> gnu.org
Subject: Re: autoconf fails if env var U set
Date: Wed, 13 Apr 2011 11:45:01 -0600
[Message part 3 (text/plain, inline)]
On 04/13/2011 11:31 AM, Tim Wallace wrote:
> This is a bug discovered when trying to build postgresql 9.0.3 on Redhat
> Enterprise Linux 5.  If env var U is set, it fails, as pointed out by
> the Postgres maintainer.  I guess it's autoconf 2.59, and I'm guessing
> you're past that now, so possibly it has already been fixed.  Baffling
> bug, though.

It stems from the old days of ansi2knr, where automake would set $U when
translating source files into knr versions; but is relatively unused
these days.

> for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
>   # 1. Remove the extension, and $U if already installed.
>   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
>   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
>   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
>   #    will be set to the directory where LIBOBJS objects are built.
>   ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
>   ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'

The issue still exists in autoconf 2.68 (and autoconf.git); but the
rules are not using $U in the configure script (read those lines
closely, and you'll note that what is really happening is that they are
generating a literal '$U' for inclusion in the AC_SUBST of LIBOBJS and
LTLIBOBJS).  So the real problem may be that automake is not prepared
for the case when $U is defined at make time, rather than on autoconf
for passing literal $U into the makefile in the first place during
AC_LIBOBJ.

Or maybe we do need to consider patching lib/autoconf/general.m4 to make
_AC_LIBOBJS_NORMALIZE only output $U into the makefile conditional on
whether ansi2knr is in use, rather than its current usage of doing it
for every package that used AC_LIBOBJ.

-- 
Eric Blake   eblake <at> redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-autoconf <at> gnu.org
Cc: Tom Lane <tgl <at> sss.pgh.pa.us>, Tim Wallace <twallace <at> ll.mit.edu>,
	Paul Eggert <eggert <at> cs.ucla.edu>, 8493-done <at> debbugs.gnu.org
Subject: Re: autoconf fails if env var U set
Date: Tue, 1 Nov 2011 17:19:08 +0100
[Me going through oldish backlogs ...]

On Thursday 14 April 2011, Paul Eggert wrote:
> On 04/13/2011 11:02 AM, Tom Lane wrote:
> > If the intended use is only for ansi2knr, I'd even argue that it
> > should be off by default ... how many people care about ansi2knr
> > anymore?
> 
> Nobody.  It would be fine to remove the ansi2knr stuff from Autoconf.
> 
> 
I agree.  For what is worth, support for the ansi2knr stuff has been
deprecated in the automake `maint' branch, and removed altogether
in the `master' branch, so I'm closing this bug report (for what
concerns automake).

Regards,
  Stefano


This bug report was last modified 13 years and 200 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.