On Mon, 2004-04-05 at 17:52, Cyrille Chepelov wrote:
> Le Mon, Apr 05, 2004, Ã 04:48:44PM +0200, Gansser, Martin a écrit:
> > Hi,
> >
> > I tried to compile dia-0.92.2 on HPUX11.00 with gnome-2.4, but this
> > fails with the following error message:
> >
> > checking math.h usability... yes
> > checking math.h presence... yes
> > checking for math.h... yes
> > checking for isinf in -lm... no
> > checking ieeefp.h usability... no
> > checking ieeefp.h presence... no
> > checking for ieeefp.h... no
> > configure: error: Can't find neither a definition of
> > isinf nor ieeefp.h
> > make: *** [configure-work/main.d/dia-0.92.2/configure] Error 1
>
>
> Now, this is very strange. We first look for isinf() in math.h with -lm, and
> only then we try ieeefp.h (Solaris).
>
> Why does the first test fail?
>
> Hmmm. Can you see if either line solves the problem:
> CFLAGS="-g -O2 -Ae" ./configure
> CFLAGS="-g -O2 -Aa -D_HPUX_SOURCE" ./configure
> ?
> Also, it would help to see the config.log file, say 40 lines around the word
> "isinf"...
>
> D'oh! I see now. On HP-UX, isinf() is a macro. We find it in math.h, so the
> first half of the first test "check that isinf exists and is in math.h AND
> -lm" succeeds, but then we don't find it in -lm (configure uses a different
> code snippet for the second test, which does NOT include math.h; instead, it
> defines a bogus prototype and looks for a link failure, which is inevitable
> on HP-UX).
>
> Lars, an idea? Shouldn't we be a little more lax with the -lm test? I think
> we should test in two steps:
> 1. isinf() in math.h (if no, go to step 3)
> 2. isinf in -lm (if yes, add -lm to the command line, if no, don't
> put -lm but let it run anyway).
>
> 3. isinf() in ieeefp.h (and whatever library Solaris uses to put
> the definition of isinf(), if it doesn't use a macro)
I guess. That macro has been trouble for a while.
http://redvip.homelinux.net/varios/rrdtool/rrdtool-1.0.33/configure.in
has some similar problems and possibly better solutions.
-Lars