Subject: bug#11524: ping on automake bug#11524

From: Stefano Lattarini <[email-masked]>
Date: Mon, 26 Nov 2012 20:35:16 +0100

On 11/26/2012 08:08 PM, Dagobert Michelsen wrote:
> Hi Stefano,
> 
>> Am 26.11.2012 um 12:38 schrieb Stefano Lattarini <[email-masked]>:
>>>
>>> OK, this reeks of spurious failure.
>>>
>>>   ...
>>>   compilation terminated.
>>>   configure:2949: $? = 1
>>>   configure:2969: checking whether the C compiler works
>>>   configure:2991: gcc  -I/opt/csw/include -m32 -xarch=sparc -L/opt/csw/lib conftest.c  >&5
>>>   gcc: error: language arch=sparc not recognized
>>>   gcc: error: language arch=sparc not recognized
>>>   configure:2995: $? = 1
>>>   configure:3033: result: no
>>>   configure: failed program was:
>>>   ...
>>>
>>> According to
>>>
>>> <http://buildfarm.opencsw.org/~dam/automake-1.12.5/t/get-sysconf.log>
>>>
>>> you're passing flags specific to the Solaris C compiler in the LDFLAGS variable;
>>> that is, the "-xarch=sparc" in:
>>>
>>>   LDFLAGS='-m32 -xarch=sparc -L/opt/csw/lib'
>>>
>>> Since LDFLAGS is used also by gcc, chaos ensues.
>>
>> Unfortunately this is necessary most of the time as the linker on Solaris
>> is mostly invoked from the compiler when compiling with Sun Studio, especially
>> for selecting 32/64. Nonetheless I can of course take out the flags and give
>> it a try on a package-by-package basis and disable these for automake.
>>
>>> Could yo try to re-run the testsuite with a fixed environment, that is,
>>> exporting flags specific to the Solaris compiler in CFLAGS rather than
>>> in LDLFAGS?
>>
>> Sure, running now.
> 
> 
> This looks *much* better now:
>   http://buildfarm.opencsw.org/~dam/automake-1.12.5-2012-11-26/
>
Good!

> However, what I don't understand is that I especially select Sun Studio compiler
> which accepts the defined LDFLAGS. Why does automake try to test gcc stuff with
> the flags?
>
Because some tests require the GNU compilers, and they explicitly force use
of them, even if the user have specified other compilers for the "generic"
tests (which are the majority).  So far, the testsuite has been careful not
to use the generic CFLAGS, CXXFLAGS, ... for this kind of tests (using
GNU_CFLAGS, GNU_CXXFLAGS, ... instead) but hasn't bothered to do the same
for LDFLAGS, because before your report I had never seen a failure due to
LDFLAGS being incompatible with GCC.  But maybe this is a glitch that is
worth fixing after all.  I'll think about it (so I'm not yet closing this
bug report, until a decision is make).

> I mean, if I set the compiler to gcc and pass gcc flags it would probably
> also work.
>
It should be so, yes.

Thanks, and best regards,
  Stefano