X-Loop: help-debbugs@HIDDEN Subject: bug#12637: 'ar cru' rejecting empty object list on darwin11 Resent-From: David Fang <fang@HIDDEN> Original-Sender: debbugs-submit-bounces <at> debbugs.gnu.org Resent-CC: bug-libtool@HIDDEN Resent-Date: Sat, 13 Oct 2012 16:37:02 +0000 Resent-Message-ID: <handler.12637.B.135014617227691 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 12637 X-GNU-PR-Package: libtool X-GNU-PR-Keywords: To: 12637 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-libtool@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.135014617227691 (code B ref -1); Sat, 13 Oct 2012 16:37:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Oct 2012 16:36:12 +0000 Received: from localhost ([127.0.0.1]:42743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TN4h8-0007CY-Tb for submit <at> debbugs.gnu.org; Sat, 13 Oct 2012 12:36:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57393) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <fang@HIDDEN>) id 1TN4h3-0007C1-Et for submit <at> debbugs.gnu.org; Sat, 13 Oct 2012 12:36:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <fang@HIDDEN>) id 1TN4g1-0004RV-PK for submit <at> debbugs.gnu.org; Sat, 13 Oct 2012 12:35:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:36547) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <fang@HIDDEN>) id 1TN4g1-0004Qk-Mx for submit <at> debbugs.gnu.org; Sat, 13 Oct 2012 12:35:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <fang@HIDDEN>) id 1TN4fz-0004UB-V8 for bug-libtool@HIDDEN; Sat, 13 Oct 2012 12:35:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <fang@HIDDEN>) id 1TN4fx-0004Lo-Pe for bug-libtool@HIDDEN; Sat, 13 Oct 2012 12:34:59 -0400 Received: from csl.cornell.edu ([128.84.224.10]:3859 helo=vlsi.csl.cornell.edu) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <fang@HIDDEN>) id 1TN4fx-0004Lf-Kf for bug-libtool@HIDDEN; Sat, 13 Oct 2012 12:34:57 -0400 Received: from hal-00.csl.cornell.edu (hal-00.csl.cornell.edu [128.84.224.105]) by vlsi.csl.cornell.edu (8.13.4/8.13.4) with ESMTP id q9DGYpol021833 for <bug-libtool@HIDDEN>; Sat, 13 Oct 2012 12:34:56 -0400 (EDT) Date: Sat, 13 Oct 2012 12:34:51 -0400 (EDT) From: David Fang <fang@HIDDEN> Message-ID: <Pine.LNX.4.64.1210131219440.14048@HIDDEN> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-detected-operating-system: by eggs.gnu.org: FreeBSD 2.0-4.2 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -4.2 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://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: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -4.2 (----) Hi, I'm getting an error with libtool --mode=link on darwin11 (OS X 10.7.5), using xcode command-line tools 4.5.1 (October 2012). An 'ar cru' command fails because it expects a non-empty object list. The brief: [fangism-pro:hackt-0.1.4-devel-20121012/darwin-build/src] fang% make -j1 All header tests passed. make all-recursive Making all in util/test make all-am make[3]: Nothing to be done for `all-am'. Making all in . /bin/sh ../libtool --tag=CXX --mode=link clang++ -pipe -ansi -pedantic-errors -Wold-style-cast -Woverloaded-virtual -W -Wextra -Wall -Wundef -Wshadow -Wno-unused-parameter -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Werror -g -O2 -Wno-error=sign-conversion -Wno-error=unused-function -Wno-error=conversion -Qunused-arguments -L/sw/lib -L/sw/lib -o libhacktexec.la main/force_load.lo main/program_registry.lo main/parse_test.lo main/flatten.lo main/haco.lo main/create.lo main/cflat.lo main/prsobjdemo.lo main/prsim-main.lo main/dump_persistent_table.lo main/objdump.lo main/shell.lo main/version.lo main/chpsim.lo main/hacknet.lo libhacktprsim.la libhacktchpsim.la libhacknet.la libtool: link: rm -fr .libs/libhacktexec.a .libs/libhacktexec.la libtool: link: ar cru .libs/libhacktexec.a main/.libs/force_load.o main/.libs/program_registry.o main/.libs/parse_test.o main/.libs/flatten.o main/.libs/haco.o main/.libs/create.o main/.libs/cflat.o main/.libs/prsobjdemo.o main/.libs/prsim-main.o main/.libs/dump_persistent_table.o main/.libs/objdump.o main/.libs/shell.o main/.libs/version.o main/.libs/chpsim.o main/.libs/hacknet.o libtool: link: ranlib .libs/libhacktexec.a libtool: link: ( cd ".libs" && rm -f "libhacktexec.la" && ln -s "../libhacktexec.la" "libhacktexec.la" ) /bin/sh ../libtool --tag=CC --mode=link clang -pipe -ansi -pedantic-errors -Wmissing-prototypes -Wstrict-prototypes -Wbad-function-cast -Wnested-externs -W -Wextra -Wall -Wundef -Wshadow -Wno-unused-parameter -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Werror -g -O2 -Qunused-arguments -module -L/sw/lib -o hackt-guile.la -rpath /sw/lib/hackt libhacktguile.la libtool: link: warning: `/sw/lib/libgmp.la' seems to be moved libtool: link: warning: `/sw/lib/libgmp.la' seems to be moved libtool: link: warning: library `/sw/lib/libgmp.la' was moved. libtool: link: rm -fr .libs/hackt-guile.0.so .libs/hackt-guile.so libtool: link: clang -Wl,-undefined -Wl,dynamic_lookup -o .libs/hackt-guile.0.so -bundle -L/sw/lib ./.libs/libhacktguile.dylib /sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktlib.dylib /sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktparsers.dylib /sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktast.dylib /sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libfangutil.dylib -lreadline -lncurses /sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libguileutil.dylib /sw/lib/libguile.dylib /sw/lib/libgmp.dylib -lm /sw/lib/libltdl.dylib -O2 -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktlib.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktlib.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktparsers.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktparsers.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktast.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktast.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libfangutil.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libfangutil.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libguileutil.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libguileutil.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktparsers.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktparsers.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktast.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktast.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libfangutil.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libfangutil.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libhacktast.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libhacktast.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libfangutil.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libfangutil.dylib -Wl,-dylib_file -Wl,/sw/lib/hackt/libfangutil.0.dylib:/sw/src/fink.build/hackt-0.1.4-devel-20121012-1/hackt-0.1.4-devel-20121012/darwin-build/src/.libs/libfangutil.dylib libtool: link: (cd ".libs" && rm -f "hackt-guile.so" && ln -s "hackt-guile.0.so" "hackt-guile.so") libtool: link: ar cru .libs/hackt-guile.a ar: no archive members specified usage: ar -d [-TLsv] archive file ... ar -m [-TLsv] archive file ... ar -m [-abiTLsv] position archive file ... ar -p [-TLsv] archive [file ...] ar -q [-cTLsv] archive file ... ar -r [-cuTLsv] archive file ... ar -r [-abciuTLsv] position archive file ... ar -t [-TLsv] archive [file ...] ar -x [-ouTLsv] archive [file ...] make[2]: *** [hackt-guile.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 With --debug added to the libtool command, the tail of the output shows: + func_to_tool_file .libs/hackt-guile.a func_convert_file_msys_to_w32 + set -x + case ,$2, in + func_convert_file_noop .libs/hackt-guile.a + func_to_host_file_result=.libs/hackt-guile.a + func_to_tool_file_result=.libs/hackt-guile.a + tool_oldlib=.libs/hackt-guile.a + eval 'cmds="$AR' '$AR_FLAGS' '$oldlib$oldobjs~$RANLIB' '$tool_oldlib"' ++ cmds='ar cru .libs/hackt-guile.a ~ranlib .libs/hackt-guile.a' + func_len ' ar cru .libs/hackt-guile.a ~ranlib .libs/hackt-guile.a' + func_len_result=55 + len=55 + test 55 -lt 196608 + cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' + func_execute_cmds '$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' 'exit $?' + set -x + save_ifs=' ' + IFS='~' + for cmd in '$1' + IFS=' ' + eval 'cmd="$AR' '$AR_FLAGS' '$oldlib$oldobjs"' ++ cmd='ar cru .libs/hackt-guile.a ' + func_show_eval 'ar cru .libs/hackt-guile.a ' 'exit $?' + my_cmd='ar cru .libs/hackt-guile.a ' + my_fail_exp='exit $?' + false + func_quote_for_expand 'ar cru .libs/hackt-guile.a ' + case $1 in + my_arg='ar cru .libs/hackt-guile.a ' + case $my_arg in + my_arg='"ar cru .libs/hackt-guile.a "' + func_quote_for_expand_result='"ar cru .libs/hackt-guile.a "' + eval 'func_echo "ar cru .libs/hackt-guile.a "' ++ func_echo 'ar cru .libs/hackt-guile.a ' ++ echo 'libtool: link: ar cru .libs/hackt-guile.a ' libtool: link: ar cru .libs/hackt-guile.a + false + eval 'ar cru .libs/hackt-guile.a ' ++ ar cru .libs/hackt-guile.a ar: no archive members specified usage: ar -d [-TLsv] archive file ... ar -m [-TLsv] archive file ... ar -m [-abiTLsv] position archive file ... ar -p [-TLsv] archive [file ...] ar -q [-cTLsv] archive file ... ar -r [-cuTLsv] archive file ... ar -r [-abciuTLsv] position archive file ... ar -t [-TLsv] archive [file ...] ar -x [-ouTLsv] archive [file ...] + my_status=1 + test 1 -eq 0 + eval '(exit 1); exit $?' ++ exit 1 ++ exit 1 from Makefile.am (relevant lines): pkglib_LTLIBRARIES += libhacktguile.la pkglib_LTLIBRARIES += hackt-guile.la hackt_guile_la_SOURCES = hackt_guile_la_LDFLAGS = -module hackt_guile_la_LIBADD = libhacktguile.la libhacktguile_la_SOURCES = \ guile/libhackt-wrap.cc \ guile/libhackt-wrap.h \ ... libhacktguile_la_CPPFLAGS = $(GUILE_CPPFLAGS) -DWITH_MAIN libhacktguile_la_CXXFLAGS = $(AM_CXXFLAGS) $(GUILE_WARN_FLAGS) \ -Wno-old-style-cast -Werror libhacktguile_la_LIBADD = libhacktlib.la libguileutil.la hackt-guile.la is a loadable module with no additional sources, just a library dependency on libhacktguile.la. To get this far I had to apply a workaround patch to the configure-generated libtool script for issue 12156 (tr): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12156 Does anything in the debug trace look wrong? Is ar supposed to be called if the archive member list is empty? If not, is there a suitable patch or workaround? Fang -- David Fang http://www.csl.cornell.edu/~fang/
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.428 (Entity 5.428) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: David Fang <fang@HIDDEN> Subject: bug#12637: Acknowledgement ('ar cru' rejecting empty object list on darwin11) Message-ID: <handler.12637.B.135014617227691.ack <at> debbugs.gnu.org> References: <Pine.LNX.4.64.1210131219440.14048@HIDDEN> X-Gnu-PR-Message: ack 12637 X-Gnu-PR-Package: libtool Reply-To: 12637 <at> debbugs.gnu.org Date: Sat, 13 Oct 2012 16:37: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 12637 <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 12637: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D12637 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.