GNU bug report logs - #20947
libtool 2.4.2 is not robust to a missing global_symbol_pipe

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: libtool; Reported by: Philip Chimento <philip.chimento@HIDDEN>; dated Tue, 30 Jun 2015 23:11:03 UTC; Maintainer for libtool is bug-libtool@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 30 Jun 2015 23:10:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 30 19:10:41 2015
Received: from localhost ([127.0.0.1]:34892 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZA4fo-0000RX-8d
	for submit <at> debbugs.gnu.org; Tue, 30 Jun 2015 19:10:41 -0400
Received: from eggs.gnu.org ([208.118.235.92]:55444)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xV-0007qM-77
 for submit <at> debbugs.gnu.org; Tue, 30 Jun 2015 18:24:54 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xO-0002SU-Ue
 for submit <at> debbugs.gnu.org; Tue, 30 Jun 2015 18:24:47 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
 HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:57200)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xO-0002SO-Qe
 for submit <at> debbugs.gnu.org; Tue, 30 Jun 2015 18:24:46 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:40703)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xN-0006lu-Nr
 for bug-libtool@HIDDEN; Tue, 30 Jun 2015 18:24:46 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xM-0002QG-HB
 for bug-libtool@HIDDEN; Tue, 30 Jun 2015 18:24:45 -0400
Received: from mail-wg0-x22c.google.com ([2a00:1450:400c:c00::22c]:34590)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <philip.chimento@HIDDEN>) id 1ZA3xM-0002P7-9T
 for bug-libtool@HIDDEN; Tue, 30 Jun 2015 18:24:44 -0400
Received: by wgqq4 with SMTP id q4so21458700wgq.1
 for <bug-libtool@HIDDEN>; Tue, 30 Jun 2015 15:24:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:date:message-id:subject:from:to:content-type;
 bh=bfpPk5JnjU+besYik5X+Q++3P9+lS0Tq6VPyzT1Uihs=;
 b=yAbwPxdG2J79WUxRxK1O6oA4Aly+Z2TnzkRbtZVfiaM2TgSm/2gujWepCcyBrXTgIk
 qzgY8MRYY30qDaOrB107Qai/cDifrut0BowvsEdARB6m6ygQJziGZMwT3nela2JcDFZw
 Hxe/S0vE0jp9gETifAzqd5ayLY8M71tPLKpdj8CVdhxqUMXlEolnmRYxA994ptzpWcPf
 +e/1NSwwoBbULRk/9af1nGk2K5BqHRizlHmV7n2UXTc4rZw/N1PHT9Uw6F/GX4XBldZ4
 RyQDUcbjlr3HklIMBvW2FHalUDNG4870U+Dyva63lhykXtxpDSTt7vVqH9vNVvWQQ7m3
 i/+w==
MIME-Version: 1.0
X-Received: by 10.181.25.234 with SMTP id it10mr117456wid.0.1435703081227;
 Tue, 30 Jun 2015 15:24:41 -0700 (PDT)
Received: by 10.28.129.72 with HTTP; Tue, 30 Jun 2015 15:24:41 -0700 (PDT)
Date: Tue, 30 Jun 2015 15:24:41 -0700
Message-ID: <CAHbXgc0K023dW3b1aLN4L4-GcHVOcqig8=AoQdmU7FumBV3i9A@HIDDEN>
Subject: libtool 2.4.2 is not robust to a missing global_symbol_pipe
From: Philip Chimento <philip.chimento@HIDDEN>
To: bug-libtool@HIDDEN
Content-Type: multipart/alternative; boundary=001a1136cbd828dcdd0519c3ac66
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 30 Jun 2015 19:10:37 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

--001a1136cbd828dcdd0519c3ac66
Content-Type: text/plain; charset=UTF-8

This is a difficult-to-reproduce bug since it only occurs due to outside
influences. However, I believe libtool's behaviour could be improved to
make it more obvious what is going on when the bug occurs.

Many instances of the symptom can be found by doing an internet search for
"libtool global_symbol_pipe". Basically the configure check for the sed
expression to parse the output of nm can fail, without causing configure to
abort.

    checking command to parse /usr/bin/nm -B output from gcc object...
failed

This results in the variable global_symbol_pipe being empty in the
generated libtool script, which causes compilation to fail later on:

    libtool: link: /usr/bin/nm -B <OBJECT-FILES> | | /bin/sed 's/.* //' |
sort | uniq > <EXPORTED-SYMBOL-FILE>

    ./libtool: eval: line <LINE>: syntax error near unexpected token `|'

(The empty space between the pipes is where the empty global_symbol_pipe
variable is plugged in.)

That this happens is not libtool's fault, it's generally caused by a
misconfigured nm. However, I believe it would lead to fewer headaches for
libtool users if configure aborted with an explanation, or the libtool
script itself was more robust to the empty variable and didn't try to pipe
nm output through nothing.

Regards,
-- 
Philip

--001a1136cbd828dcdd0519c3ac66
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">This is a difficult-to-reproduce bug since it only occurs =
due to outside influences. However, I believe libtool&#39;s behaviour could=
 be improved to make it more obvious what is going on when the bug occurs.<=
div><br></div><div>Many instances of the symptom can be found by doing an i=
nternet search for &quot;libtool global_symbol_pipe&quot;. Basically the co=
nfigure check for the sed expression to parse the output of nm can fail, wi=
thout causing configure to abort.</div><div><br></div><div>=C2=A0 =C2=A0=C2=
=A0checking command to parse /usr/bin/nm -B output from gcc object... faile=
d</div><div><br></div><div>This results in the variable global_symbol_pipe =
being empty in the generated libtool script, which causes compilation to fa=
il later on:</div><br>=C2=A0 =C2=A0 libtool: link: /usr/bin/nm -B &lt;OBJEC=
T-FILES&gt; | | /bin/sed &#39;s/.* //&#39; | sort | uniq &gt; &lt;EXPORTED-=
SYMBOL-FILE&gt;<br><br>=C2=A0 =C2=A0 ./libtool: eval: line &lt;LINE&gt;: sy=
ntax error near unexpected token `|&#39;<div><br></div><div>(The empty spac=
e between the pipes is where the empty global_symbol_pipe variable is plugg=
ed in.)</div><div><br></div><div>That this happens is not libtool&#39;s fau=
lt, it&#39;s generally caused by a misconfigured nm. However, I believe it =
would lead to fewer headaches for libtool users if configure aborted with a=
n explanation, or the libtool script itself was more robust to the empty va=
riable and didn&#39;t try to pipe nm output through nothing.<br><div><br><d=
iv>Regards,</div>-- <br><div class=3D"gmail_signature">Philip</div>
</div></div></div>

--001a1136cbd828dcdd0519c3ac66--




Acknowledgement sent to Philip Chimento <philip.chimento@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-libtool@HIDDEN. Full text available.
Report forwarded to bug-libtool@HIDDEN:
bug#20947; Package libtool. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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