Forum OpenACS Q&A: createlang on strike?

Collapse
Posted by Ola Hansson on
Hi everyone,

I can't install PlTcl anymore despite the fact that PostgreSQL 7.1.3 was configured with Tcl support.
(I'm on a Red Hat 7.2 system)
[nsadmin@hal lib]$ createlang pltcl template1
ERROR:  Load of file /usr/local/pgsql/lib/pltcl.so failed:
/usr/local/pgsql/lib/pltcl.so: undefined symbol: Tcl_CreateSlave
createlang: language installation failed
Any thoughts?
Collapse
Posted by Deds Castillo on
I've already emailed Trond Eivind Glomsrød (RedHat postgres package
mantainer) about this.  An explanation, as well as some exchanges
with Lamar Owen and other members of the Postgres community, can be
found here:

http://fts.postgresql.org/db/mw/msg.html?mid=1013772

- Deds -

Collapse
Posted by Ola Hansson on
Oh, I've compiled from source😊

Thanks anyway,

Collapse
Posted by Deds Castillo on
Ola,

What do you mean?  You were able to compile from source without
changing anything?  The error seems to be exhibited both on source
and on RPMS as the mess up occurs during the build.

- Deds -

Collapse
Posted by Ola Hansson on
No. Sorry Deds, I must have misread your answer or something... It's still not working. After "make" I edited /usr/local/src/postgresql-7.1.3/src/pl/tcl/Makefile.tcldefs
and changed the line:
TCL_SHLIB_LD = gcc -pipe -shared -Wl,-soname,libtcl.so.0
to read:
TCL_SHLIB_LD = gcc -pipe -shared -Wl,-soname,libpltcl.so.0
...and continued as usual.

Do I have to add some symlink? Did you get it to work BTW?
Collapse
Posted by Deds Castillo on
Ola,

Only now that I've tried it again after so many days.  But you are
right, editing the so name still fails.  So I edited
/usr/lib/tclConfig.sh thinking that maybe there are still some
dependencies that need to be resolved.  That fails also.  Still
trying to make it work.

- Deds

Collapse
Posted by Hans Gaasenbeek on
Anybody got it working? I have the same problem (RH 7.2, Postgresql compiled from source). Thanks!
Collapse
Posted by Patrick Giagnocavo on
I am curious if any of you did a "ldd" on the postgres binary.  If the output shows a "not found" on any of the libraries listed, that could be the reason.
Collapse
Posted by Ben Brewer on
I have the same problem right now. I'd really like help with it if anyone knows.

Here is the result of my "ldd postgres":

libz.so.1 => /usr/lib/libz.so.1 (0x40033000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40041000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4006e000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40080000)
libdl.so.2 => /lib/libdl.so.2 (0x40096000)
libm.so.6 => /lib/i686/libm.so.6 (0x4009a000)
libreadline.so.4 => /usr/lib/libreadline.so.4 (0x400bd000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x400e4000)
libc.so.6 => /lib/i686/libc.so.6 (0x400e8000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Here's the error message when I try "createlang pltcl mydb":

ERROR: Load of file /usr/local/pgsql/lib/pltcl.so failed:
/usr/local/pgsql/lib/pltcl.so: undefined symbol: Tcl_CreateSlave
createlang: language installation failed

I'd like to take this oportunity to thank everyone who has worked on openacs. It's a great toolkit. And thanks in advance for help with this problem.

Ben.

Collapse
Posted by amit singh on
Did some one sort this problem? I can do a createlang plpgsql it works fine but createlang pltcl gives a similar error.
on Rehat version 7.2
and postgres compiled from srpms version 7.1.3

Thanks