One note for people planning to use AOLserver on *BSD and expect high loads: last time I checked, the threading library on FreeBSD was less than optimal, and it does not take advantage of multiple processors (it was doing something similar to the GNU pth library, by emulating threads in a single process). Things might have changed, so take this with a grain of salt :)
Petru - I solved this issue by using linuxthreads and recompiling AOLServer to use it. I had another posting about this in the OpenACS board a while back. Essentially, one instance of AOLServer will only use one processor. After linuxthreads, the individual AOLServer threads can be spread across both processors.
Gilbert, were you able to link nsxml.so dynamically against libxml? The only way I could get AOLserver to load nsxml was to link it in statically.
Matthew - I'm not sure if it was dynamically linked to libxml. I didn't check. I just loaded up the ports package of libxml2, changed the makefile for nsxml, and compiled nsxml. Here is the makefile. I'm not sure if this means I statically linked it or not.
NSHOME ?= $(INST)
NSHOME ?= ..
# Module name
MOD = nsxml.so
CFLAGS += -I/usr/local/include
# Objects to build.
OBJS = ns_xml.o
# Uncomment for libxslt support
#CFLAGS = -DDO_XSLT
#MODLIBS = -lxml2 -lxslt
# This is if you only want libxml support (no XSLT support)
#MODLIBS = -lxml2
MODLIBS = /usr/local/lib/libxml2.so
I am also interested in your dependancy flag for AOLServer. I could be wrong, but I don't think there is anything special for the aD patches. I have to add in nscache, nssha1 and nsrewrite after the initial build.
You're in charge of the AOLServer port, right? Can you also add a patch for the tcl8.2.3/unix/tclUnixPipe.c file. I've created my own patch based on some info I found on the OpenACS board. I have to patch it manually right now and it would be nice to have it done automatically.