Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by hub.org (8.9.2/8.9.1) with ESMTP id KAA46754 for ; Wed, 24 Feb 1999 10:22:36 -0500 (EST) (envelope-from tgl@sss.pgh.pa.us) Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id KAA14232; Wed, 24 Feb 1999 10:20:25 -0500 (EST) To: Francisco Alonso cc: pgsql-interfaces@postgreSQL.org Subject: Re: [INTERFACES] problems with pgaccess In-reply-to: Your message of Wed, 24 Feb 1999 11:51:09 +0100 <36D3D99D.999DD3F1@fcu.um.es> Date: Wed, 24 Feb 1999 10:20:25 -0500 Message-ID: <14230.919869625@sss.pgh.pa.us> From: Tom Lane Francisco Alonso writes: > $ wish -f pgaccess.tcl template1 > Error in startup script: couldn't load file "libpgtcl.so": libpq.so.1: > cannot open shared object file: No such file or directory Can you run "psql" successfully? If not, you probably forgot to set up your environment so that the Postgres shared libraries can be found by the dynamic loader. Under Linux I think you need to run ldconf to add /usr/local/pgsql/lib (or wherever you put the libraries); not sure about the details though. If psql runs but you can't dynamically load libpgtcl, you are probably running into the second-level-dependency problem: libpgtcl depends on libpq, which in turn depends on libcrypt (if libcrypt is a separate library on your system). A lot of dynamic loaders are too stupid to do the right thing here. You have to help them out by marking libpgtcl as depending directly on libcrypt. Try applying the following patch to Makefile.in and rebuilding libpgtcl. (This patch will be in 6.5, and I'm considering retrofitting it into 6.4.3 as well --- so let me know if it helps.) regards, tom lane *** REL6_4/pgsql/src/interfaces/libpgtcl/Makefile.in Sun Oct 18 20:00:41 1998 --- pgsql/src/interfaces/libpgtcl/Makefile.in Sun Feb 7 17:10:45 1999 *************** *** 27,33 **** OBJS= pgtcl.o pgtclCmds.o pgtclId.o ! SHLIB_LINK= -L../libpq -lpq # Shared library stuff, also default 'all' target include $(SRCDIR)/Makefile.shlib --- 27,38 ---- OBJS= pgtcl.o pgtclCmds.o pgtclId.o ! SHLIB_LINK+= -L../libpq -lpq ! ! # If crypt is a separate library, rather than part of libc, it may need ! # to be referenced separately to keep (broken) linkers happy. (This is ! # braindead; users of libpq should not need to know what it depends on.) ! SHLIB_LINK+= $(findstring -lcrypt,$(LIBS)) # Shared library stuff, also default 'all' target include $(SRCDIR)/Makefile.shlib