On Mon, Jun 25, 2007 at 11:42:28PM +1200, Eddie Stanley wrote: > Hi, > > I spent the best part of the day trying to work this out - I was working on a > system setup with PG 8.2, and wanted to work with 8.3 for development. > > I installed as follows: > > 1. CVS checkout > 2. ./configure prefix=~/install_dir > 3. gmake prefix=~/install_dir > 4. gmake install prefix=~/install_dir > > Got a datastore up and running with initdb; created some test tables, > everything > seemed to be fine. > > The problem came when I wanted to build a simple C function - I used the > following makefile: > > MODULES = example > PGXS := $(shell ~/install_dir/bin/pg_config --pgxs) > include $(PGXS) > > The program compiled fine, however I noticed the compilation was refering to > files in /usr/pkg (from the 8.2 installation). I would have thought specifing > the version of pg_config from the 8.3 installation would be sufficent, but it > wasn't. > > In /lib/postgresql/pgxs/src/Makefile.global, I needed to change > > PG_CONFIG = pg_config > to > PG_CONFIG = ~/install_dir/bin/pg_config > > Could this have been avoided if the Makefile.global had > PG_CONFIG = $(prefix)/bin/pg_config > ?
I was actually about to post on this just a couple of days ago - it seems pgxs really needs pg_config to be in your PATH. The quick fix would be for you to run PATH=~/install_dir/bin/:$PATH make That'll make sure your local pg_config gets picked up instaed. That's what I ended up donig. It's just a workaround, but it's one that works :-) //Magnus ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster