Re: [INTERFACES] problems with pgaccess - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: [INTERFACES] problems with pgaccess
Date
Msg-id 14230.919869625@sss.pgh.pa.us
Whole thread Raw
In response to problems with pgaccess  (Francisco Alonso <alonsarp@fcu.um.es>)
List pgsql-interfaces
Francisco Alonso <alonsarp@fcu.um.es> 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

pgsql-interfaces by date:

Previous
From: Michael Doyle
Date:
Subject: Problem with ODBC
Next
From: "Michael Zhang"
Date:
Subject: Newbie Q: How to deal with date/time with libpq or ecpg?