delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/15/21:25:44

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4A36F473.7030602@users.sourceforge.net>
Date: Mon, 15 Jun 2009 20:25:07 -0500
From: "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1b3pre) Gecko/20090223 Thunderbird/3.0b2
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: libtool: bug in AC_PROG_LD
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--------------090405090508000802020704
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Chuck,

There's a bug in LT_PATH_LD (AC_PROG_LD) when called prior to LT_INIT 
(AC_PROG_LIBTOOL):

checking for ld used by gcc... 
/usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../../i686-pc-cygwin/bin/ld: no 
input files
./configure: line 3955: : command not found

Yet this does not occur when the same macro is run by LT_INIT.

Here's the offending hunk:

       # Canonicalize the pathname of ld
       ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
       while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
     ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done

The problem is that $ECHO hasn't been defined yet.  This is done by 
_LT_PROG_ECHO_BACKSLASH, which is called at the beginning of LT_INIT, 
but isn't an explicit requirement of LT_PATH_LD, which may be called on 
its own.  (AFAICS, all other macros which use $ECHO are libtool-internal 
and would only be called after LT_INIT.)

Patch attached.


Yaakov

--------------090405090508000802020704
Content-Type: text/x-patch;
 name="2.2.7a-fix-standalone-AC_PROG_LD.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="2.2.7a-fix-standalone-AC_PROG_LD.patch"

	* libltdl/m4/libtool.m4 (LT_PATH_LD): Require _LT_PROG_ECHO_BACKSLASH
	to define $ECHO in case it is called before LT_INIT.

---
 libltdl/m4/libtool.m4 |    1 +
 1 file changed, 1 insertion(+), 0 deletions(-)

--- libltdl/m4/libtool.m4	2009-06-11 00:03:10.000000000 -0500
+++ libltdl/m4/libtool.m4	2009-06-15 20:10:31.227624900 -0500
@@ -2772,6 +2772,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],


--------------090405090508000802020704
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
--------------090405090508000802020704--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019