Subject: bug#11306: Automake 1.11d on MacOS X

From: Stefano Lattarini <[email-masked]>
Date: Sat, 21 Apr 2012 20:52:36 +0200

Hi Bruno, thanks for the report.

On 04/21/2012 08:13 PM, Bruno Haible wrote:
>> The beta release "1.11d" of Automake is now available at
>> <ftp://alpha.gnu.org/gnu/automake/>.
> 
> On MacOS X 10.5, with Autoconf 2.65: 6 tests fail.
> 
> FAIL: t/lex-libobj.sh
> FAIL: t/parallel-am.sh
> FAIL: t/parallel-am2.sh
> FAIL: t/parallel-am3.sh
> FAIL: t/tap-summary-color.sh
> FAIL: t/werror3.sh
> 
> Details:
> 
> $ m4 --version
> m4 (GNU M4) 1.4.13
> $ gm4 --version
> GNU M4 1.4.6
> 
> 
> FAIL: t/lex-libobj
> ==================

> + ./configure 'LEXLIB=-L /lib'
> checking for a BSD-compatible install... /Users/bruno/data/local-macos/bin/install -c
> ...
> + make
> cc -DPACKAGE_NAME=\"lex-libobj\" -DPACKAGE_TARNAME=\"lex-libobj\" ...
> foo.c:1033: warning: 'yyunput' defined but not used
> mv -f .deps/foo.Tpo .deps/foo.Po
> cc -DPACKAGE_NAME=\"lex-libobj\" -DPACKAGE_TARNAME=\"lex-libobj\" ...
> mv -f .deps/yywrap.Tpo .deps/yywrap.Po
> cc  -g -O2   -o foo foo.o -L /lib yywrap.o 
> ld: file not found: /lib
> collect2: ld returned 1 exit status
> make: *** [foo] Error 1
> + exit_status=2
> 
> On this machine, /usr/bin/lex is a shell script that invokes /usr/bin/flex.
> There is a /usr/lib/libfl.a.
> Everything looks right up until the line
>   ./configure 'LEXLIB=-L /lib'
> I don't know how _adding_ a -L option to a compiler/linker command is meant
> to hide a library that is installed in /usr/lib ??
>
Oh, it's not intended to work like that; simply, setting $LEXLIB to a non-empty
value ensures that configure won't look for a "lex library", and simply rely on
the $LEXLIB to provide it, if needed.  We could override $LEXLIB with any valid
(list of) linker options.  Does the problem disappear if you use:

  ./configure LEXLIB='-L .'

instead?

> 
> FAIL: t/parallel-am
> FAIL: t/parallel-am2
> FAIL: t/parallel-am3
> FAIL: t/werror3
> 
> Likewise.
>
> Apparently, the "automake-1.11d ..." command [run with the AUTOMAKE_JOBS
> environment variable set to a value > 1] got a bus error. It is a shell
> script that runs perl (/usr/bin/perl, version 5.8.8).
>
I have tested automake with perl 5.8.8, 5.10.1, 5.12.4 and even perl 5.6.2,
never seeing any error in these tests.  So it seems like an an issue with
perl multithreading on your system.  Could you somehow verify whether this
is truly the case?

> FAIL: t/tap-summary-color
> =========================
> 
> No color escape sequences produced, like I reported for openSUSE Linux.
> Probable cause: not a tty, or no $TERM.
>
Correct; and already fixed:
<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00123.html>

Thanks,
  Stefano