[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiler error of m4-1.4.13 on AIX using xlc
From: |
Jens Rehsack |
Subject: |
Re: Compiler error of m4-1.4.13 on AIX using xlc |
Date: |
Mon, 04 May 2009 17:56:48 +0000 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090321) |
Eric Blake wrote:
> [adding bug-gnulib]
>
> According to Jens Rehsack on 5/1/2009 5:32 AM:
>> Hi Eric,
>
> Hi Jens,
>
>> Thomas told me, you're the best person to ask for assistance regarding the
>> problem below.
>
> Well, actually 'm4 --help' (or even './configure --help', since you didn't
> get to the point of a built m4 yet) would have told you that
> address@hidden was the right list, without having to also ask Thomas, but
> I'm glad you found the right place.
I wanted to ensure that I wasn't to stupid for very simple things - I'm
sometimes really 'noobish' with auto-tools or libtool.
>> I tried to do the update to m4-1.4.13 (using PkgSrc) on AIX and got
>> following error:
[...]
>>> CC strtod.o
>>> "strtod.c", line 155.17: 1506-045 (S) Undeclared identifier HUGE_VAL.
>>> "strtod.c", line 170.17: 1506-232 (I) Divisor for modulus or division
>>> operator cannot be zero.
>>>
>>> #include_next "///usr/vac/include/math.h" <-- wrong: must use /usr/include
>> The problem was easy to fix for the current compilation, but I don't know
>> how to fix the math.in.h - or if this would be the right file to fix etc.
>
> Actually, the fix needs to come from gnulib. This seems like another case
> where we are guessing the wrong absolute header to use when installing a
> replacement for <math.h>, but off-hand I'm not sure how best to fix it.
> Maybe others on the list will have some ideas of additional things to look
> for.
Hmm - maybe a simple #include_next <math.h> could help, too.
--- /usr/vac/include/math.h ---
#ifndef _H_MATH
#ifndef __CPP_MATH_WRAPPER
#define __CPP_MATH_WRAPPER
/**********************************************************************/
/* */
/* Licensed Materials - Property of IBM. */
/* IBM XL C for AIX, V10.1 */
/* 5724-U80 */
/* Copyright IBM Corp. 1996, 2008. */
/* All Rights Reserved. */
/* US Government Users Restricted Rights - */
/* Use, duplication or disclosure restricted by */
/* GSA ADP Schedule Contract with IBM Corp. */
/* */
/**********************************************************************/
#if _AIX61
#include_next <math.h>
#else
#ifdef __cplusplus
# pragma info(none)
# ifndef __CHKHDR__
# pragma report(level, E)
# endif
# pragma info(restore)
# include <float.h>
# include <errno.h>
# define class __class
# define exception __exception
# ifdef __MATH__
[...]
# endif /* __MATH__ */
/*****************************************************************************/
# include_next <math.h>
[...]
--- end ---
The #include_next <math.h> is used at several places in this file (I didn't
quote them all).
/usr/include/math.h detects itself using
--- /usr/include/math.h ---
#ifndef _H_MATH
#define _H_MATH
---end ---
>> Would be great if you could give me a hint or maybe just fix it, if you know
>> how. If I should provide more logs, simply tell me what you need.
>
> The portion of your config.log that shows where we decided that the
> absolute path to <math.h> must be ///usr/vac/include/math.h might be
> interesting. Also, any preprocessor symbols in both that file and in
> /usr/include/math.h that we might need to be aware of to make
> #include_next work properly even if the file is included indirectly via
> another system header.
Sure:
--- config.log ---
[...]
configure:6233: checking for math.h
configure:6233: cc -c -q64 -qarch=ppc64 -O2 -qstrict -qcpluscmt -qmaxmem=-1
-qkeyword=inline -I/opt/pkgsrc/include -ma conftest.c >&5
configure:6233: $? = 0
configure:6233: result: yes
[...]
configure:16758: checking absolute name of <math.h>
configure:16786: result: "///usr/vac/include/math.h"
[...]
--- end ---
I just run the xlc -E -C call on command line using the '#include
<math.h>'.c file:
--- begin ---
#line 1 "where_math_h.c"
/* end confdefs.h. */
#line 6 "/usr/vac/include/math.h"
/**********************************************************************/
/* */
/* Licensed Materials - Property of IBM. */
/* IBM XL C for AIX, V10.1 */
/* 5724-U80 */
/* Copyright IBM Corp. 1996, 2008. */
/* All Rights Reserved. */
/* US Government Users Restricted Rights - */
/* Use, duplication or disclosure restricted by */
/* GSA ADP Schedule Contract with IBM Corp. */
/* */
/**********************************************************************/
#line 1 "/usr/include/math.h"
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
/* bos53N src/bos/usr/include/math.h 1.28.9.5 */
/* */
/* Licensed Materials - Property of IBM */
/* */
/* COPYRIGHT International Business Machines Corp. 1985,1995 */
/* All Rights Reserved */
/* */
/* US Government Users Restricted Rights - Use, duplication or */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */
/* */
/* IBM_PROLOG_END_TAG */
/* "@(#)30 1.28.9.5 src/bos/usr/include/math.h, libm, bos53N, n2007_38A8
9/12/07 15:31:48" */
--- end ---
There are no '#define's in this file ...
Best regards,
Jens