Feb 05

Error compiling PostgreSQL 8.3 on Leopard: 'rl_completion_matches'

This is a brief note for those having trouble compiling the latest version of PostgreSQL on Leopard.

I'm currently setting up my development environment on my new Mac, and have got round to the database bit. As you probably know, PostgreSQL 8.3 was released a day or so ago, so I decided to grab that and compile it up.

All initially went well - I'd already installed MacPorts to get libxml2 and libxslt. I'm compiling PostgreSQL by hand (I'll need multiple installs of different versions for working on older software). I issued the configure:

./configure --prefix=/Users/dan/opt --with-python --with-libxml --with-libxslt

Then make - which failed with the following message:

gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline 
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -I.
-I../../../src/interfaces/libpq -I../../../src/bin/pg_dump
-I../../../src/include -I/opt/local/include/libxml2   -c -o tab-complete.o
tab-complete.c
tab-complete.c: In function 'psql_completion':
tab-complete.c:601: warning: implicit declaration of function 'rl_completion_matches'
tab-complete.c:601: warning: assignment makes pointer from integer without a cast

It seems that PostgreSQL doesn't get on with the GNU readline library that's installed. Fortunately, you can ask configure to prefer the BSD readline library:

./configure --prefix=/Users/dan/opt --with-python \
--with-libxml --with-libxslt --with-libedit-preferred

Rebuilding after this worked like a charm.

I've disabled comments for now due to spam problems - I'll turn them back on when I've fixed it!

This won't be published anywhere, it's just in case I need to contact you.

You can use Markdown in your comments. Be sensible!

Sorry about this, but I don't want spam comments.