Building SPI programs - Mailing list pgsql-general

From Aristide Aragon
Subject Building SPI programs
Date
Msg-id 20010217132718.C14720@busa.lionking.org
Whole thread Raw
List pgsql-general
Hello
I have to do some programming in C or C++ and PostgreSQL.
Having not ever done this before, I opened the documentation (in my machine, /usr/local/pgsql/doc) and read about the
optionsI had. SPI, libpq, libpq++ and ecpg. I don't want, if possible, an embeded language, or anything that requires a
preprocessor.So, I thought to start by trying the first, SPI, which also seemed to be simple. 
My problem comes when compiling, since the documentation doesn't say where the include files are, nor what libraries to
compileagainst. 
So, I found out about the include dirs required (amazingly, one was in the source directory tree, and was not copied to
usr/local/pgsql/includewhen I installed PGSQL), and ended with cc -I/busa/tmp/postgresql-7.0.2/src/include/
-I/usr/local/pgsql/includetest.c -o test 
With this command line, I got

/tmp/ccPIp24d.o: In function `main':
/tmp/ccPIp24d.o(.text+0x7): undefined reference to `SPI_connect'
/tmp/ccPIp24d.o(.text+0x2b): undefined reference to `SPI_exec'
/tmp/ccPIp24d.o(.text+0x33): undefined reference to `SPI_finish'

So I supposed I needed to link against some library. With grep I searched /usr/local/pgsql/lib for SPI_, and I found no
.a'smatching. 
I found that /usr/local/pgsql/lib/plpgsql.so and /usr/local/pgsql/lib/pltcl.so had "SPI_", however none worked.

So, can somebody help me compile a C program with SPI?

Thanks

Aristide

pgsql-general by date:

Previous
From: Katsuyuki Tanaka
Date:
Subject: IPC Shared Memory
Next
From: "He Weiping(Laser Henry)"
Date:
Subject: Re: [HACKERS] Re: [INTERFACES] Re: Chinese patch for Pgaccess