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, current version 
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 (compatibility version 2.0.0, current version 2.2.0)
            /usr/lib/libz.1.1.3.dylib (compatibility version 1.0.0, current version 
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)
    $ 

Make rules for shared library and loadable library are required to
make both type of libraries. How to change PostgreSQL make rules?


Kenji Sugita

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to