It turns out the the real problem here is the "-static" flag to g++
(well, actually to ld). On my redhat system, at least, this causes a
list of undefined symbols that I can't even begin to track down.
Removing the flag causes the program to compile fine. I would just say
to any developer that if their system allows them to build with the
"-static" flag, then you can use it by changing:
LDFLAGS = @LDFLAGS@ -lpq
in Makefile.in to:
LDFLAGS = -static @LDFLAGS@ -lpq
Try it on your system and see what happens. Incidentally, the "correct"
way to compile in a new library is to use -l<lib>, not to list the full
library. So you should use -lcrypt instead of /usr/lib/libcrypt.a. Not
that it matters. At least it *shouldn't*. :)
ahp
P.S. -- Attached is the latest code.