Re: [HACKERS] snapshot and FreeBSD-2.2.7 not building

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

In response to

Responses

Browse pgsql-hackers by date

  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