Forum OpenACS Q&A: Does OpenACS 3.x really require libpgtcl.so?

Both older RPMs (by John Xing, and the first set made by me, which used his as a starting point) and the current .deb packages for OpenACS explicitly state a requirement for libpgtcl.

However, I can't see what breaks if you leave it out!

This is not really of interest to those installing from source, but the PG 7.1 RPMs split out things so there is a separate postgresql-tcl RPM, and it would be good to be 100% sure whether or not this RPM is really needed to run OpenACS.

Any insight into this would be most welcome 😊

Collapse
Posted by Dan Wickstrom on
Don Baccus has created a bboard search utility for openacs which is based on libpgtcl.  So if you want bboard search to work, you need libpgtcl, but other than that, I don't think there is anything else in openacs that requires it.
Collapse
Posted by Don Baccus on
Dan's right.  I've not installed the 7.1 RPMs, but when building from sources "--with-tcl" also tries to build TK, and on two of my systems something required by TK (wish?) didn't exist.  So I've needed to build "--with-tcl --without-tk".  Do the distributed 7.1 RPMs give you that level of granularity?
Collapse
Posted by Roberto Mello on
Added to Release Notes for 3.2.5: Bboard searching requires PL/Tcl.
Collapse
Posted by Roberto Mello on
Nevermind. I hadn't realized that this had been added before 3.2.4, so it's in the UPGRADING.txt file.
Don wrote:
I've not installed the 7.1 RPMs, but when building from sources "--with-tcl" also tries to build TK, and on two of my systems something required by TK (wish?) didn't exist. So I've needed to build "--with-tcl --without-tk". Do the distributed 7.1 RPMs give you that level of granularity?

I'm not too concerned about requirements to rebuild PG 7.1 RPMs from SRPMs, since that is Lamar's job anyway 😊 The postgresql-tcl binary RPM adds exactly six files to your machine:

  • /usr/bin/pgtclsh
  • /usr/lib/libpgtcl.so
  • /usr/lib/libpgtcl.so.2
  • /usr/lib/libpgtcl.so.2.1
  • /usr/lib/pltcl.so
  • /usr/man/man1/pgtclsh.1.gz

and two of those are symlinks. So that seems sufficiently granular. I saw the requires statement in the earlier RPMs, but then found that OpenACS 3.2.4 'worked' for me without postgresql-tcl installed. So I was confused about what was going on there.

I think bboard searching is off by default, so the question becomes whether we need to force RPM users to install postgres-tcl just to satisfy a dependency they may never actually need, or document this so that they know that this option requires libpgtcl.so? Maybe leave it out of the requirements but ensure there is a clear comment in the config file where one would turn on bboard searches about this?

I should try it for myself... but how clear are the error messages when you try to enable bboard searches and the utility concerned can't find libpgtcl.so ?

Roberto: something to think about...

Is UPGRADING.txt the right place for information that applies to people using OpenACS for the first time, as well as those upgrading from earlier versions? I suspect some (many?) newcomers might skip reading a file with that name because they are not 'upgrading'. I don't have a wonderful "better" place to put the info, but we should probably think about putting it somewhere more visible to newcomers as well as to upgraders.

Collapse
Posted by Roberto Mello on
No, the best place IMHO would be the README and the release notes. Will add that to the README just to be on the safe side. Thanks.