From: | teg(at)redhat(dot)com (Trond Eivind =?iso-8859-1?q?Glomsr=F8d?=) |
---|---|
To: | Deds Castillo <deds(at)infiniteinfo(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Error on stock postgresql-tcl-7.1.3-2.i386.rpm included in RH7.2 |
Date: | 2001-11-09 21:50:41 |
Message-ID: | xuysnbn7gwe.fsf@halden.devel.redhat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Deds Castillo <deds(at)infiniteinfo(dot)com> writes:
> Good day to you. I've searched the net but I can't seem to find the solution
> for this. I've found a few more posts which are exactly the same as my error
> but no solution was given.
>
> The problem is when I install the postgresql-tcl rpm and I try to createlang
> pltcl. The error below occurs:
>
> ERROR: Load of file /usr/lib/pgsql/pltcl.so failed: /usr/lib/pgsql/pltcl.so:
> undefined symbol: Tcl_CreateSlave
>
> So instead of executing createlang, I try to isolate the error using this
> command:
>
> testdb=# CREATE FUNCTION pltcl_call_handler () RETURNS OPAQUE AS
> '/usr/lib/pgsql/pltcl.so' LANGUAGE 'C';
During the build process, the tcl shared module is created like this:
gcc -pipe -shared -Wl,-soname,libtcl.so.0 -o pltcl.so pltcl.o -L/usr/lib -ltcl -ldl -lieee -lm -lc
specifying the soname "libtcl.so.0" and at the same time linking to
libtcl.so.0 (which is the name of the shared tcl library in RHL 7.2)
results in trouble when loading it later.
Creating the module with a different so-name ("libtcl" seems like a
bad idea to use outside the main package) solves the problem and gives
you a module which loads
gcc -pipe -shared -Wl,-soname,libpgtcl.so.0 -o pltcl.so pltcl.o -L/usr/lib -ltcl -ldl -lieee -lm -lc
--
Trond Eivind Glomsrød
Red Hat, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | David Ford | 2001-11-09 22:03:58 | best method of reloading pg_hba.conf |
Previous Message | Kevin Jacobs | 2001-11-09 21:35:11 | Re: Possible major bug in PlPython (plus some other ideas) |