problem while compiling user c functions in 7.1beta4
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 ...
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
<<--
On Thu, Feb 22, 2001 at 10:21:12PM +1300, Christopher Sawtell wrote:
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 $
sorry. my fault. i was wrong because the files were not installed in working
directory. strange. error in makefile's?
depesz
--
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 ...
On Thu, 22 Feb 2001 22:39, hubert depesz lubaczewski wrote:
On Thu, Feb 22, 2001 at 10:21:12PM +1300, Christopher Sawtell wrote:
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 $sorry. my fault. i was wrong because the files were not installed in
working directory. strange. error in makefile's?
Very strange indeed.
I have found that using cvsup is a very reliable way to keep the code
in order. In my experience postgresql is of ultra-superior quality and
everything just makes "out of the box".
--
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
<<--
On Thu, Feb 22, 2001 at 11:24:48PM +1300, Christopher Sawtell wrote:
Very strange indeed.
I have found that using cvsup is a very reliable way to keep the code
in order. In my experience postgresql is of ultra-superior quality and
everything just makes "out of the box".
i had the same problems in past too. i'm usings cvs -z9 update, and ...
everything builds great. works out of the box, just some files in include
directory are missing.
depesz
--
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 ...
hubert depesz lubaczewski <depesz@depesz.pl> writes:
sorry. my fault. i was wrong because the files were not installed in working
directory. strange. error in makefile's?
No, an extremely deliberate change, which was discussed at length in the
mailing lists. The default install now installs only client-side header
files, no server-side files. If you want to compile server-side code,
either point your -I path at pgsql/src/include or do "make
install-all-headers".
regards, tom lane