Thread: cvs head compile failure

cvs head compile failure

From
Joe Conway
Date:
I'm getting an ecpg related compile failure on cvs tip:


gcc -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -fpic 
-I../../../../src/interfaces/ecpg/include 
-I../../../../src/include/utils -I../../../../src/include  -g  -c -o 
timestamp.o timestamp.c -MMD
timestamp.c: In function `dttofmtasc_replace':
timestamp.c:549: union has no member named `replace_int64'
make[4]: *** [timestamp.o] Error 1
make[4]: Leaving directory `/opt/src/pgsql/src/interfaces/ecpg/pgtypeslib'


Joe



Re: cvs head compile failure

From
Joe Conway
Date:
Joe Conway wrote:
> I'm getting an ecpg related compile failure on cvs tip:
>
> gcc -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -fpic
> -I../../../../src/interfaces/ecpg/include
> -I../../../../src/include/utils -I../../../../src/include  -g  -c -o
> timestamp.o timestamp.c -MMD
> timestamp.c: In function `dttofmtasc_replace':
> timestamp.c:549: union has no member named `replace_int64'
> make[4]: *** [timestamp.o] Error 1
> make[4]: Leaving directory `/opt/src/pgsql/src/interfaces/ecpg/pgtypeslib'
>

Looks like a simple matter of replacing "replace_int64" with "int64_val"
at line 549 in src/interfaces/ecpg/pgtypeslib/timestamp.c

Joe
Index: src/interfaces/ecpg/pgtypeslib/timestamp.c
===================================================================
RCS file: /opt/src/cvs/pgsql-server/src/interfaces/ecpg/pgtypeslib/timestamp.c,v
retrieving revision 1.11
diff -c -r1.11 timestamp.c
*** src/interfaces/ecpg/pgtypeslib/timestamp.c    1 Aug 2003 08:21:04 -0000    1.11
--- src/interfaces/ecpg/pgtypeslib/timestamp.c    1 Aug 2003 17:57:11 -0000
***************
*** 546,552 ****
                      break;
                  case 's':
  #ifdef HAVE_INT64_TIMESTAMP
!                     replace_val.replace_int64 = ((*ts - SetEpochTimestamp()) / 1000000e0);
                      replace_type = PGTYPES_TYPE_INT64;
  #else
                      replace_val.double_val = *ts - SetEpochTimestamp();
--- 546,552 ----
                      break;
                  case 's':
  #ifdef HAVE_INT64_TIMESTAMP
!                     replace_val.int64_val = ((*ts - SetEpochTimestamp()) / 1000000e0);
                      replace_type = PGTYPES_TYPE_INT64;
  #else
                      replace_val.double_val = *ts - SetEpochTimestamp();

Re: cvs head compile failure

From
Michael Meskes
Date:
On Fri, Aug 01, 2003 at 10:22:59AM -0700, Joe Conway wrote:
> Looks like a simple matter of replacing "replace_int64" with "int64_val" 
> at line 549 in src/interfaces/ecpg/pgtypeslib/timestamp.c

Yes, it is. Thanks. I didn't have HAVE_INT64_TIMESTAMP defined.

In fact there's another one in common.c with an incorrect #define.

It's fixed now.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!