X-Loop: help-debbugs@HIDDEN
Subject: bug#20632: Huge targets lead to E2BIG errors
Resent-From: "Daniel Richard G." <skunk@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Fri, 22 May 2015 20:43:02 +0000
Resent-Message-ID: <handler.20632.B.143232736117577 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 20632
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords:
To: 20632 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-libtool@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.143232736117577
(code B ref -1); Fri, 22 May 2015 20:43:02 +0000
Received: (at submit) by debbugs.gnu.org; 22 May 2015 20:42:41 +0000
Received: from localhost ([127.0.0.1]:53247 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.80)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1YvtmC-0004ZQ-BT
for submit <at> debbugs.gnu.org; Fri, 22 May 2015 16:42:40 -0400
Received: from eggs.gnu.org ([208.118.235.92]:45392)
by debbugs.gnu.org with esmtp (Exim 4.80)
(envelope-from <skunk@HIDDEN>) id 1Yvtm9-0004Yz-KE
for submit <at> debbugs.gnu.org; Fri, 22 May 2015 16:42:38 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Yvtm3-0002jo-5E
for submit <at> debbugs.gnu.org; Fri, 22 May 2015 16:42:32 -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,T_DKIM_INVALID
autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:39842)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Yvtm3-0002jj-26
for submit <at> debbugs.gnu.org; Fri, 22 May 2015 16:42:31 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:58879)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Yvtm1-00064p-V3
for bug-libtool@HIDDEN; Fri, 22 May 2015 16:42:31 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Yvtlz-0002iE-2G
for bug-libtool@HIDDEN; Fri, 22 May 2015 16:42:29 -0400
Received: from out5-smtp.messagingengine.com ([66.111.4.29]:46326)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <skunk@HIDDEN>) id 1Yvtly-0002hT-Qd
for bug-libtool@HIDDEN; Fri, 22 May 2015 16:42:26 -0400
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
by mailout.nyi.internal (Postfix) with ESMTP id 2B5FA2088E
for <bug-libtool@HIDDEN>; Fri, 22 May 2015 16:42:25 -0400 (EDT)
Received: from web1 ([10.202.2.211])
by compute5.internal (MEProxy); Fri, 22 May 2015 16:42:25 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=iSKUNK.ORG; h=
content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=h2t
1pM7ttKkEj0TU/pF2WqXRO7Y=; b=NbVE0odISceNNtSLNPzj2vgetG1e9xBWxVL
ymvIY0ZYzj/No+zqP7CxMropfyRWEOx1PFiKcVZiFahagdUEe3OS3a7nJqGGcs4s
FmQo/RbMSIxJfLfM4IfcIUpESWK0EQ5bQ9GYTINZeFVUcJNI//fxaL3CmKi696LA
bI8BTk5U=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=
messagingengine.com; h=content-transfer-encoding:content-type
:date:from:message-id:mime-version:subject:to:x-sasl-enc
:x-sasl-enc; s=smtpout; bh=h2t1pM7ttKkEj0TU/pF2WqXRO7Y=; b=OcDPe
7ICGHIEoSqIMVSucEgn3VGXWX9kCcN21leyk31yZ4OHRKzqpsmfC6wGHcZe757v3
rsXI79194wyf2UBMpW2bNm6diHiynWDPvDXK0EIqHSnExgo1M0ipLT5fpA+lerbm
pr6UPSpW5ZL6xcxM1HQ3KZk+dYNvhm9grOFetQ=
Received: by web1.nyi.internal (Postfix, from userid 99)
id 0391FAF3010; Fri, 22 May 2015 16:42:24 -0400 (EDT)
Message-Id: <1432327344.3036708.276005969.7AD04EE1@HIDDEN>
X-Sasl-Enc: LNEH/fiUibmqIiQyBYHY50dy2w8i7QwsXCDDjISUU0fG 1432327344
From: "Daniel Richard G." <skunk@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
X-Mailer: MessagingEngine.com Webmail Interface - html
Date: Fri, 22 May 2015 16:42:24 -0400
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
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.1 (----)
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.1 (----)
Hello Libtool peoples,
I am using the current version of Libtool (2.4.6) for a large, Automake-
based project. At one point, it builds a gigantic static archive library
from well over a thousand object files. On an older AIX system, the link
command fails with
$ gmake
/opt/freeware/bin/bash ../../libtool --tag=CC --mode=link gcc
-pipe -fno-common -W -Wall -mcpu=powerpc -O3 -ansi -avoid-version
-Wl,-bbigtoc -o libfoo.la -rpath /path/to/lib foo.lo bar.lo ...
/tmp/gmake-e2big.2kpTia: /opt/freeware/bin/bash: The parameter or
environment lists are too long.
Makefile:16591: recipe for target 'libfoo.la' failed
make: *** [libfoo.la] Error 126
This is using a patched version of GNU Make that works around its own
limitations with very long commands, detailed here:
https://savannah.gnu.org/bugs/index.php?44853
So the Make program is not at issue here; the "libtool --mode=link"
invocation itself is so long that the shell interpreter can't handle it.
Libtool does have an -objectlist argument that seems useful for cases
like this, and indeed with an appropriate edit to the Automake/Libtool-
generated rule, the link works:
libfoo.la: $(libfoo_la_OBJECTS) $(libfoo_la_DEPENDENCIES) $(EXTRA_libfoo_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libfoo_la_LINK) -rpath $(libdir) $(libfoo_la_OBJECTS) $(libfoo_la_LIBADD) $(LIBS)
+ for obj in $(libfoo_la_OBJECTS); do echo $$obj; done >$@.list
+ $(AM_V_CCLD)$(libfoo_la_LINK) -rpath $(libdir) -objectlist $@.list $(libfoo_la_LIBADD) $(LIBS)
Automake/Libtool itself should generate a rule of this form
automatically if a target's list of dependent objects is large, or else
the rule is completely unusable on a system with command-length
limitations.
--Daniel
--
Daniel Richard G. || skunk@HIDDEN
My ASCII-art .sig got a bad case of Times New Roman.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: "Daniel Richard G." <skunk@HIDDEN> Subject: bug#20632: Acknowledgement (Huge targets lead to E2BIG errors) Message-ID: <handler.20632.B.143232736117577.ack <at> debbugs.gnu.org> References: <1432327344.3036708.276005969.7AD04EE1@HIDDEN> X-Gnu-PR-Message: ack 20632 X-Gnu-PR-Package: libtool Reply-To: 20632 <at> debbugs.gnu.org Date: Fri, 22 May 2015 20:43:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-libtool@HIDDEN If you wish to submit further information on this problem, please send it to 20632 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 20632: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D20632 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.