bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: configure failures on AIX


From: Eric Blake
Subject: Re: configure failures on AIX
Date: Tue, 07 Aug 2012 09:19:17 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0

On 08/07/2012 03:15 AM, Thomas Jahns wrote:
> Hello,
> 
> I've built GNU m4 on AIX 6.1 Power6, with the following options:

Thanks for the report.

> 
> CONFIG_SHELL=/bin/bash /bin/bash \
>   ../m4-1.4.16/configure \
>   --disable-nls \
>   --prefix="/sw/aix61/m4-1.4.16-64bit" \
>   AR="ar -X 64" \
>   NM="nm -B -X 64" \
>   LDFLAGS="-q64" \
>   CC=xlc_r \
>   CFLAGS="-g -O3 -q64 -qstrict -qarch=pwr6 -qtune=pwr6" \
>   SHELL=/bin/bash
> 
> I'm getting several configure failures because the corresponding test codes
> contain incorrect statements like division by zero to obtain Inf FP values.
> 
> Unfortunately the compiler catches these parts early and thus the program is
> never run. This is entirely unnecessary if the declaration of the C99 NAN and
> INFINITY macros had been tested before that.

This particular portion of m4's configure test comes from gnulib, so any
fix should be to gnulib to benefit multiple programs.  Are you saying
that modern AIX has finally provided working NAN and INFINITY macros for
the system compiler?

> 
> Consequently the test-vasprintf-posix part of make check fails, I assume 
> because
> of the failed configure tests.
> 
> The above-described problem can be seen in lines 5243 and following of the
> attached config.log.

> configure:14934: checking whether printf supports infinite 'double' arguments
> configure:15035: xlc_r -o conftest -g -O3 -q64 -qstrict -qarch=pwr6 
> -qtune=pwr6  -q64 conftest.c  >&5
> "conftest.c", line 169.33: 1506-232 (I) Divisor for modulus or division 
> operator cannot be zero.
...
> "conftest.c", line 190.34: 1506-232 (I) Divisor for modulus or division 
> operator cannot be zero.
> configure:15035: $? = 0
> configure:15035: ./conftest
> configure:15035: $? = 63
> configure: program exited with status 63
...
> | int main ()
> | {
> |   int result = 0;
> |   if (sprintf (buf, "%f", 1.0 / 0.0) < 0
> |       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
> |     result |= 1;
> |   if (sprintf (buf, "%f", -1.0 / 0.0) < 0
> |       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
> |     result |= 1;
> |   if (sprintf (buf, "%f", zero / zero) < 0
> |       || !strisnan (buf, 0, strlen (buf)))
> |     result |= 2;

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]