Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux
От | Kristofer A. E. Peterson |
---|---|
Тема | Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux |
Дата | |
Msg-id | 353C02A7.3B8AC206@taconic.net обсуждение исходный текст |
Ответ на | Re: [INTERFACES] Configuration & libpgtcl.so problems in PostgreSQL 6.3.2 on Linux (Alvin van Raalte <alvin@camberlo.demon.co.uk>) |
Список | 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
В списке pgsql-interfaces по дате отправления: