Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux

From: "Kristofer A(dot) E(dot) Peterson" <bepeterson(at)taconic(dot)net>
To: Alvin van Raalte <alvin(at)camberlo(dot)demon(dot)co(dot)uk>, Constantin Teodorescu <teo(at)flex(dot)ro>
Cc: PostgreSQL Questions <pgsql-questions(at)postgreSQL(dot)org>, PostgreSQL Interfaces <pgsql-interfaces(at)postgreSQL(dot)org>
Subject: Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux
Date: 1998-04-21 02:21:27
Message-ID: 353C02A7.3B8AC206@taconic.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Alvin van Raalte wrote:
>
> I think we must be the only people left using tcl under Linux. This
> hasn't worked for at least a month. In fact I cant recall any 6.3
> version working.
>
> However attached is a patch that I submitted a while ago that fixes the
> problem.
>
> Alvin.
>
> ------------------------------------------------------------------------
>
> Name: postgresql-patch-7
> postgresql-patch-7 Type: Plain Text (text/plain)
> Description: postgresql-patch-7

Rather than applying that patch, it would probably be easier creating a
'Makefile.custom' file in the postgresql-6.3.2/src (which get included
by Makefile.global, and thus every Makefile in the tree). Set
LINUX_ELF=true in Makefile.custom, and you won't have to patch all of
the shared library makefiles. You can also specify CUSTOM_CC and
CUSTOM_COPT in Makefile.custom to specify your compiler and compile
flags, respectively.

As for libpgtcl.so and unresolved symbols, I run a Redhat 5.0 system
where the crypt() function lives in its own library (libcrypt) and not
libc. libpgtcl.so is linked to libpq.so, which is statically linked.
crypt() is probably used by libpq.so for passwords, etc, but since
libpq.so is *not* linked with libcrypt, you must link libcrypt.so as
well libpq.so into your app. The Tk shell, wish8.0, is *not* linked to
libcrypt.so. Thus, when pgaccess.tcl loads the libpgtcl.so library, the
system can't resolve the calls to crypt(). One solution is to run
pgaccess.tcl with pgtksh, which *is* linked with libcrypt.so. Just
change the first line of pgaccess.tcl to #!/usr/local/pgsql/bin/pgtksh
(or where ever you installed postgresql). You could also link
libpgtcl.so manually, adding the '-lcrypt' crypt option, which would let
you run pgaccess.tcl and any other postgresql tcl scripts with wish and
tclsh.

Hope this helps...

- Kris

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Rudi Heitbaum 1998-04-21 09:20:57 Re: [INTERFACES] Re: ODBC FAQ
Previous Message Alvin van Raalte 1998-04-20 18:54:27 Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux