Thread: pg_sendmail function compile problem
I am trying to compile the pg_sendmail function from ftp://ftp.trurl.anything3d.com/pub/Linux/our/pgsendmail-1.0.tar.gz and I get the following error message. I am using 7.1beta3-2 from rpm install. Here is the error... # make /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr /include/pgsql -c mail.c rm -f .libs/mail.lo gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr/inc lude/pgsql -c -fPIC -DPIC mail.c -o .libs/mail.lo In file included from mail.c:29: /usr/include/pgsql/utils/elog.h:37: parse error before `CritSectionCount' /usr/include/pgsql/utils/elog.h:37: warning: data definition has no type or storage class make: *** [mail.lo] Error 1 Do I need some other elog.h file? Thanks for any suggestions. Keep up the good work. I like postgresql and am always amazed at the steady stream of email! And am looking forward to the 7.x series :-) Joseph Showalter
"Joseph" <lters@mrtc.com> writes: > In file included from mail.c:29: > /usr/include/pgsql/utils/elog.h:37: parse error before `CritSectionCount' > /usr/include/pgsql/utils/elog.h:37: warning: data definition has no type or > storage class At a guess, this code is neglecting to include postgres.h first. All of the internal headers in PG assume that you included postgres.h beforehand. regards, tom lane
I added an include line but now it gives me the following error... make /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr /include/pgsql -c mail.c mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr/inc lude/pgsql -c -fPIC -DPIC mail.c -o .libs/mail.lo In file included from /usr/include/pgsql/c.h:47, from /usr/include/pgsql/postgres.h:40, from mail.c:29: /usr/include/pgsql/config.h:662: os.h: No such file or directory make: *** [mail.lo] Error 1 The os.h file points to ../.././src/include/port/linux.h which does not exist? :-( I am showing my ignorance here I guess. > "Joseph" <lters@mrtc.com> writes: > > In file included from mail.c:29: > > /usr/include/pgsql/utils/elog.h:37: parse error before `CritSectionCount' > > /usr/include/pgsql/utils/elog.h:37: warning: data definition has no type or > > storage class > > At a guess, this code is neglecting to include postgres.h first. All > of the internal headers in PG assume that you included postgres.h > beforehand. > > regards, tom lane >
"Joseph" <lters@mrtc.com> writes: > I am using 7.1beta3-2 from rpm install. > I added an include line but now it gives me the following error... > make > /bin/sh ./libtool --mode=compile > gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr > /include/pgsql -c mail.c > mkdir .libs > gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/pgsql/include -I/usr/inc > lude/pgsql -c -fPIC -DPIC mail.c -o .libs/mail.lo > In file included from /usr/include/pgsql/c.h:47, > from /usr/include/pgsql/postgres.h:40, > from mail.c:29: > /usr/include/pgsql/config.h:662: os.h: No such file or directory > make: *** [mail.lo] Error 1 > The os.h file points to ../.././src/include/port/linux.h which does not > exist? :-( That's a known RPM packaging error, which I thought we'd fixed for 7.1. I can confirm it's not fixed, however. Lamar, what's up with this? Joseph, you can grab that file from the source distribution and replace the os.h link with it, until we get our act together ... regards, tom lane