GNU bug report logs - #10303
Problems in $(LIBTOOL) definition: wrong shell used

Previous Next

Package: libtool;

Reported by: Marko Lindqvist <cazfi74 <at> gmail.com>

Date: Thu, 15 Dec 2011 09:57:02 UTC

Severity: normal

Merged with 10231

To reply to this bug, email your comments to 10303 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-libtool <at> gnu.org:
bug#10303; Package libtool. (Thu, 15 Dec 2011 09:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefano Lattarini <stefano.lattarini <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Thu, 15 Dec 2011 09:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-libtool <at> gnu.org
Cc: 10301 <at> debbugs.gnu.org, Marko Lindqvist <cazfi74 <at> gmail.com>
Subject: Problems in $(LIBTOOL) deifnition (was: Re: automake bug#10301:
	/bin/sh used to execute libtool)
Date: Thu, 15 Dec 2011 10:54:40 +0100
[CC:ing bug-libtool]

Hi Marko, thanks for the report.

On Wednesday 14 December 2011, Marko Lindqvist wrote:
> I'm not entirely sure if this is automake or libtool bug, but assuming
> automake so reporting here.
>
> I'm cross-compiling gettext to mingw32-target in linux system. I have
> to regenerate build system (so it's not the one distributed with
> gettext 0.18.1.1). I end with libtool-script that has /bin/bash as
> shebang. Yet when doing the build, it's run through /bin/sh ("/bin/sh
> ../libtool"). This work in one of my systems where /bin/sh is bash,
> and fails in another where /bin/sh is dash.
>
The issue you are experiencing is probably due to the fact that the
automake-generated makefiles use $(LIBTOOL) to issue libtool invocations,
and that explicitly runs the libtool script through the shell given by
$(SHELL).  But automake isn't at fault here, since it takes its definition
of $(LIBTOOL) from the libtool-provided macros; more precisely, the
definition of $(LIBTOOL) is derived from the following code in the LT_INIT
definition (see the file `m4/libtool.m4' in the libtool repository):

  # Always use our own libtool.
  LIBTOOL='$(SHELL) $(top_builddir)/libtool'
  AC_SUBST(LIBTOOL)dnl

So my opinion is that this is a libtool bug (that's why I am CC:ing
bug-libtool).  I will wait few days to see if I'm proven wrong, then
I'm going to close this bug report for what concerns automake, leaving
it to the libtool developers to deal with it.

Regards,
  Stefano




Changed bug submitter to 'Marko Lindqvist <cazfi74 <at> gmail.com>' from 'Stefano Lattarini <stefano.lattarini <at> gmail.com>' Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 15 Dec 2011 10:08:02 GMT) Full text and rfc822 format available.

Changed bug title to 'Problems in $(LIBTOOL) definition: wrong shell used' from 'Problems in $(LIBTOOL) deifnition (was: Re: automake bug#10301: /bin/sh used to execute libtool)' Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 15 Dec 2011 10:08:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-libtool <at> gnu.org:
bug#10303; Package libtool. (Thu, 15 Dec 2011 10:56:02 GMT) Full text and rfc822 format available.

Message #12 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Marko Lindqvist <cazfi74 <at> gmail.com>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: 10301 <at> debbugs.gnu.org, bug-libtool <at> gnu.org
Subject: Re: Problems in $(LIBTOOL) deifnition (was: Re: automake bug#10301:
	/bin/sh used to execute libtool)
Date: Thu, 15 Dec 2011 12:54:02 +0200
[Message part 1 (text/plain, inline)]
On 15 December 2011 11:54, Stefano Lattarini
<stefano.lattarini <at> gmail.com> wrote:
>>
>> I'm cross-compiling gettext to mingw32-target in linux system. I have
>> to regenerate build system (so it's not the one distributed with
>> gettext 0.18.1.1). I end with libtool-script that has /bin/bash as
>> shebang. Yet when doing the build, it's run through /bin/sh ("/bin/sh
>> ../libtool"). This work in one of my systems where /bin/sh is bash,
>> and fails in another where /bin/sh is dash.
>>
> The issue you are experiencing is probably due to the fact that the
> automake-generated makefiles use $(LIBTOOL) to issue libtool invocations,
> and that explicitly runs the libtool script through the shell given by
> $(SHELL).

 Yes, everything works when libtool is built with attached patch that
makes $(LIBTOOL) to run libtool-script directly instead of feeding it
to (possibly wrong) shell.


 - ML
[libtool_bash.diff (text/x-patch, attachment)]

Merged 10231 10303. Request was from Mike Frysinger <vapier <at> gentoo.org> to control <at> debbugs.gnu.org. (Wed, 17 Jan 2024 07:58:01 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 151 days ago.

Previous Next


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