emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#8493: closed (autoconf fails if env var U set)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#8493: closed (autoconf fails if env var U set)
Date: Tue, 01 Nov 2011 16:22:02 +0000

Your message dated Tue, 1 Nov 2011 17:19:08 +0100
with message-id <address@hidden>
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
address@hidden)


-- 
8493: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8493
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Re: autoconf fails if env var U set Date: Wed, 13 Apr 2011 11:45:01 -0600 User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110318 Red Hat/3.1.9-3.el6_0 Mnenhy/0.8.3 Thunderbird/3.1.9
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   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message --- Subject: Re: autoconf fails if env var U set Date: Tue, 1 Nov 2011 17:19:08 +0100 User-agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )
[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


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]