Alvaro Herrera <alvherre@atentus.com> writes:
> Hello:
>
> I'm having trouble creating the Pl/Tcl language in RedHat Linux 7.1.
> When I issue the createlang command I get this:
>
> [replicator@att-stgo-1 replicator]$ createlang -L /usr/lib/pgsql pltcl
> replicator
> ERROR: Load of file /usr/lib/pgsql/pltcl.so failed:
> /usr/lib/pgsql/pltcl.so: undefined symbol: Tcl_CreateSlave
> createlang: language installation failed
>
> Of course /usr/lib/pgsql/pltcl.so exists, and /usr/lib/libtcl8.3.so does
> exist also. They both were installed via the RedHat 7.1.3 RPMs (not
> Lamar Owen ones). Strange thing is Tcl_CreateSlave is defined in
> /usr/lib/libtcl8.3.so, which is not in the output of ldd here in RedHat.
> BUT I've succesfully installed Pl/Tcl from source (7.2b4) at home in
> Mandrake Linux and libtcl8.3.so appears in the ldd output for pltcl.so.
> I don't know what to think, and have no idea whatsoever about Tcl for
> debugging this kind of stuff.
>
> Of course I don't think the RPMs are flawed, but I can't find what the
> problem is. Any clue?
The language module for tcl is created with soname libtcl.so.0. This
is the same soname used by libtcl... creating confusion for the linker.
--
Trond Eivind Glomsrød
Red Hat, Inc.