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 > bug-m4@gnu.org 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