compiling grass5.0beta7 on linux
Markus Neteler
neteler at geog.uni-hannover.de
Tue Apr 25 04:49:38 EDT 2000
Hi all,
my apologies for my yesterday's INFINITY statement.
It seems to be a problem related to rather all platforms
beside my personal platform (?).
But you can be shure - GRASS 5 shall become compliant to
all compilers/platforms, not limited to gcc compiler.
I hope we find a general solution soon.
Sorry for any inconvenience
Markus Neteler
On Mon, Apr 24, 2000 at 06:56:59PM -0700, Russell L. Carter wrote:
>
> Hi all,
>
> %Markus Neteler wrote:
> %> Hi there,
> %>
> %> INFINITY is defined in
> %>
> %> /usr/include/math.h: INFINITY representation of the infinity value of type 'float'
> %>
> %> If r.cost is not compiling on your machine, I assume your compiler
> %> is not installed properly. The declarations in src/raster/r.cost seems
> %> to be o.k.
> %>
> %> Kind regards
> %>
> %> Markus Neteler
> %
> %Hi Markus,
> %
> %sorry to insist on that, but on my Red Hat Linux 5.2, glibc 2.0.7,
> %INFINITY is not defined in /usr/include/math.h or elswhere.
> %
> %On IRIX 6.2 INFINITY is not defined too and compilation of r.cost stops
> %too.
>
> It is also not in any versions of FreeBSD, include 5.0-current.
> Nor is isfinite (). I copied over the macro and inline function
> defs from RH-6.1 into the one file that needed it.
>
> %Please do not assume that all Unix systems are the same or compatible
> %with some standards Linux or glibc introduced a very short time ago. I
> %still hope that GRASS will continue support for other Unix platforms
> %than Linux.
> %
> %A portable program should use HUGE_VAL for a undefined infinite which is
> %defined in <math.h> and in <limits.h>. HUGE_VAL should be compatible
> %with systems that use IEEE floating point format. Another way is the
> %function isinf(double X), but this is BSD and is not portable to systems
> %that strictly confine to SYSV.
> %
> %I don't know if the code in main.c is correct as INFINITY is defined as
> %a float but null_cost is a double variable. Other possible defines:
> %FLT_MAX and DBL_MAX from <limits.h> contain the biggest value a float
> ^^^^^^^^^^^^^^^^^^^
> These are available on lots of systems... #include <float.h>
>
> There is also that "#ifdef linux" in a .l file which fixes yylineno,
> needed for BSD too. Thankfully somebody left a ~ file around, a
> diff revealed the fix.
>
> Other than that... a clean build.
>
> Thanks!
> Russell
>
>
> %resp. a double variable can hold. One could use FLT_MAX instead of
> %INFINITY.
> %
> %Please contact me if you whish me to investigate this further. I can
> %provide a patch.
> %
> %cu
> %
> %Andreas
> %
> %--
> %Andreas Lange, 65187 Wiesbaden, Germany, Tel. +49 611 807850
> %Andreas.Lange at Rhein-Main.de, A.C.Lange at GMX.net
> %
>
>
More information about the grass-user
mailing list