A libpq library on Mac OS X is made as a loadable library (bundle). Since a
shared library version (dylib) of libpq does not exist, all programs which
use libpq are always linked with a static version of libpq.
Psql made by a current make rule:
$ ls -l /opt/pgsql/7.3/bin/psql psql -rwxr-xr-x 1 sugita admin 188616 Dec 22 01:25 /opt/pgsql/7.3/bin/psql $
otool-L /opt/pgsql/7.3/bin/psql /opt/pgsql/7.3/bin/psql: /usr/lib/libz.1.1.3.dylib (compatibility version 1.0.0,
currentversion 1.1.3) /usr/local/lib/libreadline.4.1.dylib (compatibility version 4.0.0, current version 4.1.0)
/usr/lib/libSystem.B.dylib(compatibility version 1.0.0, current version 63.0.0) $
Psql made by a hand made shared library:
$ ls -l psql -rwxr-xr-x 1 sugita wheel 138732 Dec 22 01:34 psql* $ otool -L psql psql: libpq.2.2.dylib
(compatibilityversion 2.0.0, current version 2.2.0) /usr/lib/libz.1.1.3.dylib (compatibility version 1.0.0, current
version1.1.3) /usr/local/lib/libreadline.4.1.dylib (compatibility version 4.0.0, current version 4.1.0)
/usr/lib/libSystem.B.dylib(compatibility version 1.0.0, current version 63.0.0) $
Make rules for shared library and loadable library are required to
make both type of libraries. How to change PostgreSQL make rules?
Kenji Sugita