From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | hal(at)enteract(dot)com (Hal Snyder) |
Cc: | hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] snapshot and FreeBSD-2.2.7 not building |
Date: | 1999-01-03 02:41:56 |
Message-ID: | 199901030241.VAA28735@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> The blizzard hitting the Chicago area makes today ideal for hacking -
> as long as the power stays on! A thousand pardons if this is a known
> problem - I'm just getting started with the current CVS set.
>
> I grabbed postgresql.snapshot.tar.gz for 8 am, Jan 2 and am trying to
> build it on my FreeBSD-2.2.7 system in order to test some things for
> the web site. This seems to be the only source kit available from
> hub's anonymous FTP archive, BTW.
>
> Here's what happens:
>
> ...
> gmake[2]: Entering directory `/pgsql-src/pgsql/src/backend/utils'
> for i in adt cache error fmgr hash init misc mmgr sort time; do gmake -C $i SUBSYS.o; done
> gmake[3]: Entering directory `/pgsql-src/pgsql/src/backend/utils/adt'
> gcc -I../../../include -I../../../backend -O2 -m486 -pipe -Wall -Wmissing-prototypes -I../.. -c numeric.c -o numeric.o
> numeric.c: In function `numeric_float8':
> numeric.c:1729: incompatible types in assignment
> numeric.c: In function `numeric_float4':
> numeric.c:1783: incompatible types in assignment
> gmake[3]: *** [numeric.o] Error 1
> gmake[3]: Leaving directory `/pgsql-src/pgsql/src/backend/utils/adt'
> ...
> gmake[2]: *** No rule to make target `adt/SUBSYS.o', needed by `SUBSYS.o'. Stop.
> gmake[2]: Leaving directory `/pgsql-src/pgsql/src/backend/utils'
> gmake[1]: *** [utils.dir] Error 2
> gmake[1]: Leaving directory `/pgsql-src/pgsql/src/backend'
> gmake: *** [all] Error 2
>
> I think the compiler is right in claiming incompatible types. In rev
> 1.3 of backend/utils/adt/numeric.c, line 1783 says
>
> *result = num;
>
> but "result" is a float32 (=*float), while "num" is Numeric (pointer
> to a custom PostgreSQL NumericData struct). What is intended here?
OK, I have applied a patch to the cvs tree. My old code was clearly
wrong, now that I study it.
I am now generating NAN by:
double x;
return (x-x)/(x-x);
This seems to be the way my libm math library does it. The gcc2 -O4
compile does not seem to optimize it away, so looks like it will work.
My guess is that the compiler can not optimize floating-point
computations.
Still waiting for Jan to give me his comments on my fixes, but it is
holiday time.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 1999-01-03 02:54:10 | Re: [HACKERS] snapshot and FreeBSD-2.2.7 not building |
Previous Message | Hal Snyder | 1999-01-02 22:34:31 | snapshot and FreeBSD-2.2.7 not building |