Forum OpenACS Q&A: Running OpenACS 3.2.5 under AOLserver 4.0.10

Due to unforeseen circumstances (server death :) I'm moving some very old sites to a new system running 64 bit Redhat (old system was 32 bit). A couple of these sites were running under nsd3.3+ad13. To my great surprise most of nsd worked without having to be rebuilt, but the postgres driver did not work and I was unsuccessful at building a new one.

Not wanting to invest a lot of time on an ancient webserver, I went ahead with the move and set the 3.2.5 sites up under AOLserver 4.0.10, also quite old but the client didn't want me to upgrade anything more than was absolutely necessary.

Unfortunately, they don't work. There are no errors in the error log on startup but the page load dies with:

invalid command name "template::adp_parse"

There don't seem to be many people reporting this error. I've seen this thread:

But have double-checked the config file (several times!) and Home is set correctly. However, this makes me think that the problem is probably due to changes to AOLserver's module/tcl scripts.

So does anyone know how to either a) run 3.2.5 under AOLserver 4 or b) get nsd3.3+ad13 built and working on 64 bit Linux?

Thanks in advance!

Posted by Richard Hamilton on

I thought that 64-bit Intel and AMD chips retained the ability to run 32-bit code for backward compatibility.

I presume therefore that as long as you have copies of the necessary 32-bit libraries, you could either install a compiled 32-bit binary or compile one on the 64-bit machine.

Here is a page that might give you some ideas:

(That is assuming that is isn't one of those difficult to spot gotcha's like a permissions issue with the module/tcl directory, or an invisible typo in the config file.)

Best regards

Posted by Janine Ohmer on
That's what I thought too, and it looked like it was going to work, but there was some problem with the Postgres drvier and that's where I went off the rails. After rebuilding the PG driver it was incompatible with the non-rebuilt nsd binary.

However, it looks like I got things working. The templating system files in the Tcl library are in an ats subdirectory, and they weren't being loaded. My guess is that the old version descended into subdirs and the slightly-less-old version does not; I can't recall ever seeing any discussion of this before, but I can't see any other reason why they would not be loaded. I copied the ats tcl files into the main tcl directory and it seems to be working now. *knock wood* :)

Posted by Gustaf Neumann on
Concerning rebuilding the PG driver: you have most likely a 64 bit postgres installation on the new machine. If you want to link to a 32 bit binary, you have to build the pg driver as well with 32 bit (fiddle with compile-flags) and you will need therefore to install as well the 32bit pg libraries. Accessing a 64bit compiled PG database from 32bit PG driver works well (and vice versa).