| 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: | Whole Thread | Raw Message | 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 |