Обсуждение: problems with pgaccess

Поиск
Список
Период
Сортировка

problems with pgaccess

От
Francisco Alonso
Дата:
I am absolutely new with postgres. I have installed it (thanks to the
help of the mailing list) and it works properly. But now I want to
install pgaccess and I get an error message:


$ 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
    while executing
"load libpgtcl.so"
    (procedure "main" line 6)
    invoked from within
"main $argc $argv"
    (file "pgaccess.tcl" line 5002)

I am using RedHat 5.2 on a Pentium 166.

I have read about problems loading libpgtcl library, but I don't know if
this is one of those problems.

I think this is one of those beginner's stupid problems, and probably it
has been discussed formerly in the mailing list, but I haven't find
anything about it. Could anybody kindly give me some idea?




Francisco Alonso Sarría
Area de Geografía Física
Universidad de Murcia
Campus de La Merced
E-30001 Murcia SPAIN
Tel: (968) 364357

Re: [INTERFACES] problems with pgaccess

От
Tom Lane
Дата:
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