Forum OpenACS Development: Re: bug fixes from 4.6 merged to HEAD

Collapse
Posted by Lamar Owen on
I am currently running OpenACS 4.6 final with nspostgres3.5beta1 (virtually identical to the released 35).  I did not receive any instruction to upgrade.

This is with the released 4.6, not with HEAD.  I can try a HEAD install, though.....but only with PostgreSQL 7.2.3.

Did you recompile nspostgres for PostgreSQL 7.3.1? (it should have had other complaints for that error, but it doesn't hurt to ask).

Also, check to make sure the run user for AOLserver has the proper access rights to all tcl files -- improper ownership and modes in the aolserver install directories can cause symptoms similar to this.  That is, if AOLserver is being run as 'nsadmin' then nsadmin should probably own the entire aolserver install tree.  In particular, AOLSERVER_HOME/modules/tcl should be owned by nsadmin. Or grant read and execute to the whole tree (execute to the directories only, IIRC).

This error should have caused an immediate error, though, not just in the fourth page.

Which AOLserver version are you using?

Collapse
Posted by Andrei Popov on
In my case this was -HEAD on FreeBSD 4.7 with PostgreSQL 7.2.3, AOLserver 3.3+ad13 and a full recompile of nspostgres.  The part that (supposedly) throws up the warning is ns_pg_bind -- yet it does not even reach Postgres: I see nothing in the logs with debug level of 4, 8, 10.  I'll try this with AOLserver 3.5.1 -- will se where that gets me...
Collapse
Posted by Andrei Popov on
...and it did not get me anywhere: it still fails, with the same error.  It's also worth noting (albeit this may be a wrong forum) that nssha1 fails to compile under FreeBSD.

Like I said, this is with Pg7.2.3.  Will try upgrading to 7.3.1 and see if that helps.

Collapse
Posted by Jeff Davis on
One thing I would say is that if you are not completely familiar with openacs (to the point of being able to track down these sorts of things yourself) you should stick with the released version (currently 4.6, which can be downloaded as a tarball or checked out with tag oacs-4-6-final).

Also, my mentioning upgrading the db driver was not because there are any bugs which were fixed that might correct the problem, it was because there are some patches in it that have better error reporting.

The bug in Tammy's case is this:

Index: lang-message-procs.tcl
===================================================================
RCS file: /cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl,v
retrieving revision 1.17
diff -r1.17 lang-message-procs.tcl
442c442
<             set package_where_clause "where package_key = $package_key"
---
>             set package_where_clause "where package_key = :package_key"
I committed the fix on HEAD, it did not affect the 4.6 branch since it is i18n related.
Collapse
Posted by Andrei Popov on
Jeff,

My feedback to this thread has not been a "please help it does not work" -- I simply find it interesting that what used to work a dozen times I've installed and configured is not working now.  I am trying to see what causes these breakages and how they can be mitigated, whether it is a praticular combination of OS/db/AOLserver.  Unlike many here, for instance, I prefer to use FreeBSD, not Linux, even though this calls for a bumpier ride -- yet there's no reason while it should not work, is there?

Collapse
Posted by Jeff Davis on
Andrei, I was not trying to single you out there. It's more that a lot of folks download the HEAD when 4.6 would be hugely better as a starting point which is why I said it.

To be honest, I don't know what your problem is since you have not described very concretely. I assume it's something different than what Tammy described but other than that I don't know.

On nssha1, the best place to post something would be the aolserver mailing list (and to submit a bug at aolserver.sourceforge.net).

Collapse
Posted by Andrei Popov on

Fair enough. FWIW, if anybody is having the "You need to update" error -- make sure that you compile nspostgres with ACS=1 as follows:

  $ gmake ACS=1 POSTGRES=/usr/local
...
  $ gmake ACS=1 POSTGRES=/usr/local install

(substitute for just make on Linux).

As far as nssha1 is concerned -- lines 139 and 140 of nssha1.c need to be commented out if you are compiling in FreeBSD (probably it should just be wrapped in to a sensible #ifdef/#endif:

--- nssha1-0.1/nssha1.c.org     Mon Jan 20 00:57:45 2003
+++ nssha1-0.1/nssha1.c Mon Jan 20 00:52:46 2003
@@ -136,8 +136,8 @@
     return NS_OK;
 }

-typedef unsigned int u_int32_t;
-typedef unsigned char u_int8_t;
+/*typedef unsigned int u_int32_t;
+typedef unsigned char u_int8_t;*/

 /*** FROM sha.h: ***/

After these changes all is good with the follwoing setup: FreeBSD 5.0-CURRENT/postgresql-devel (7.3.1) from ports/OpenACS 4.6-final

Collapse
Posted by Andrei Popov on
> After these changes all is good with the follwoing setup:
> FreeBSD 5.0-CURRENT/postgresql-devel (7.3.1) from 
> ports/OpenACS 4.6-final

Should read:

After these changes all is good with the follwoing setup: FreeBSD 5.0-CURRENT/postgresql-devel (7.3.1) from ports/AOLserver 3.5.1/OpenACS 4.6-final

When compiling AOLserver, make sure that you compile Tcl of your choice with --enable-threads (I had to manually alter Makefile).