Thread: problem while compiling user c functions in 7.1beta4

problem while compiling user c functions in 7.1beta4

From
hubert depesz lubaczewski
Date:
hi,
i have functin which did compile on 7.0.3 and 7.1beta1, and now it doesn't.
it includes were:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <postgres.h>

since in 7.1beta4 there is no postgres.h i changed this to:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <c.h>

all i need this for is to have type declarations, and postgresql versions of
malloc, realloc and free - i.e. i dont use spi.

when compiling i get this errors:
gcc -O2 -Wall -ansi -I "/home/users/pgdba/work/include/postgresql/" -c dfti.c
-fpic
In file included from dfti.c:4:
/home/users/pgdba/work/include/postgresql/c.h:312: parse error before `regproc'
/home/users/pgdba/work/include/postgresql/c.h:312: warning: type defaults to `int' in declaration of `regproc'
/home/users/pgdba/work/include/postgresql/c.h:312: warning: data definition has no type or storage class
/home/users/pgdba/work/include/postgresql/c.h:313: parse error before `RegProcedure'
/home/users/pgdba/work/include/postgresql/c.h:313: warning: type defaults to `int' in declaration of `RegProcedure'
/home/users/pgdba/work/include/postgresql/c.h:313: warning: data definition has no type or storage class
/home/users/pgdba/work/include/postgresql/c.h:364: parse error before `oidvector'
/home/users/pgdba/work/include/postgresql/c.h:364: warning: type defaults to `int' in declaration of `oidvector'
/home/users/pgdba/work/include/postgresql/c.h:364: warning: data definition has no type or storage class
/home/users/pgdba/work/include/postgresql/c.h:373: `NAMEDATALEN' undeclared here (not in a function)
dfti.c: In function `empty_text':
dfti.c:16: warning: implicit declaration of function `palloc'
dfti.c: In function `dfti_prepare':
dfti.c:37: warning: implicit declaration of function `elog'
dfti.c:37: `ERROR' undeclared (first use in this function)
dfti.c:37: (Each undeclared identifier is reported only once
dfti.c:37: for each function it appears in.)
dfti.c:84: warning: implicit declaration of function `repalloc'
dfti.c:86: warning: implicit declaration of function `pfree'

my knowledge of c is extremly limited, so i can't work on those errors.
my postgresql is build from cvs snapshot taken 21th of february 11:23.

can anyone help me with this?

depesz

p.s. i'm not posting the whole function code since it's ugly, long and it *did*
work (without warnings) with previous persions.

--
hubert depesz lubaczewski                          http://www.depesz.pl/
------------------------------------------------------------------------
     najwspanialszą rzeczą jaką dało nam nowoczesne społeczeństwo,
      jest niesamowita wręcz łatwość unikania kontaktów z nim ...

Re: [GENERAL] problem while compiling user c functions in 7.1beta4

From
Christopher Sawtell
Date:
On Thu, 22 Feb 2001 20:28, hubert depesz lubaczewski wrote:

> since in 7.1beta4 there is no postgres.h i changed this to:

I did a cvsup update about 12 hours ago and look:-

22:05:23 chris@berty:/usr/src/cvs/pgsql $ find . -name postgres.h
./src/include/postgres.h
22:16:22 chris@berty:/usr/src/cvs/pgsql $

--
Sincerely etc.,

 NAME       Christopher Sawtell
 CELL PHONE 021 257 4451
 ICQ UIN    45863470
 EMAIL      csawtell @ xtra . co . nz
 CNOTES     ftp://ftp.funet.fi/pub/languages/C/tutorials/sawtell_C.tar.gz

 -->> Please refrain from using HTML or WORD attachments in e-mails to me
<<--