Forum OpenACS Q&A: AOLserver 3.3.1 for Win32 release available in new-file-storage


I have just uploaded a binary release of AOLserver 3.3.1+ad13 for
Win32 to new-file-storage.  It contains everything you need (I think)
for testing and doing development of OpenACS4 on a Windows box.  It
has received only light testing, and the Oracle driver has not been
tested at all.

I built the release from the source kit available at aD with Visual
Studio 6.  I could not, however, figure out how to export the right
symbols from nscache and nssha1, or build the nsxml module or the
postgres module.  Those I "borrowed" from other binary releases that
are out there (in particular Yon Derek's AOLserver 4-UH release is
where I got the nsxml stuff).

I'm no Windows programming guru--I really can't maintain this, but I
spent a half a day on it and wanted to stick it somewhere where it
could help someone else.

If anyone can suggest what I might have done wrong with the nscache
and nssha1 modules (the DLLs never had any exported symbols in them,
and I could never see what the difference was between those projects
and the ones from the aD package) I'd appreciate it.  There must be
an obscure setting somewhere...

I don't know how the sources for this particular version look like but the thing with win version is that you need to create a correct project files with correct dependencies, settings and stuff. At least that's what I had to do for AOLserver 4. It's not hard but tedious. Also many modules need small porting tweaks for win32. The most frequent thing I've encountered is that the entry function that each module needs to export in order for AOLServer to load the module at runtime must be exported. In Unix this works even if it's defined as int Ns_ModuleInit(char *server, char *module) while in order for it to work on windows it has to also use NS_EXPORT i.e. NS_EXPORT int Ns_ModuleInit(char *server, char *module). Same for Ns_ModuleVersion.

I just checked the sources for ad13 and e.g. nscache.c isn't "win friendly".

I fixed win portability problems for all the modules needed by acs and you can grab them from CVS at (project acs-misc). They have no other changes than portability fixes.

But that's only part of the story, I think. You would still need to create a proper project for each module. You can try to grab those from aolserver4-uh module (*.dsp files) but in order to use them straight you would have to follow a protocol of where the source files for the modules are (I think in my scheme all modules should be on the same level as main aolserver source tree). Or you can try to create them by yourself based on how the other modules look like (that's what I did for v4).

So you're the guy behind acs-misc!  Pretty cool stuff; thanks for putting it out there.  (I'm using nsd 4 on win2k at work to provide a search interface to our perforce changelists.)
I decided to install OpenACS4 on my Windows 2000 box with an AOLserver 4 beta.  I was initially using Yon's UH release, but needed
to step through the AOLserver code at one point to figure out what was happening during form-based file upload.  So I checked out the source from the AOLserver repository and tediously modified the project files...

I didn't run into the NSEXPORT problem mentioned, but I am only loading a subset of the modules, and those are mostly from acs-misc.  I have managed to install OpenACS4, but it wasn't completely trivial.  There are line ending issues that I believe originate in AOLserver.  Rather than track them down properly I did the quick and dirty thing and hacked around the problems in the Tcl templating code.

I've been keeping somewhat exhaustive documentation on everything I've done so far.  My plan is to put the notes and patches up on my new OpenACS box with plenty of room for General Comments at the bottom.  That might not happen for another week or so, but I will be happy to email a preview version to anyone who would like them more immediately.

I tried to use the above release and ended up with this output. It seems to have completed the boot installation with no errors but then just hung.

I'm using openACS-4.2(alpha) Postgres 7.1.3 on Windows 98 and I'm new to ACS development.

Can you point me in the right direction please.


B. Larkin

.... } {} {} {} /openacs-4/www/index.xql} {1 N948 p37 {} /openacs-4/www/index.xql}-
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = loaded one query - dbqd.www.index.user_name_select [23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = The RDBMS_TEST is -
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = The RDBMS_PATTERN is postgresql - 7.1
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = Query dbqd.www.index.user_name_select is compatible! fullquery = dbqd.www.index.user_name_select {

select first_names || ' ' || last_name as name, email from persons, parties where person_id = :user_id and person_id = party_id

} {} {} {} /openacs-4/www/index.xql, name = dbqd.www.index.user_name_select
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = default_rdbms is
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = node_list is N948 with length 1 and index 1
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = Cleaning up, done parsing
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Debug: QD_LOGGER = one parse result --
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: QD=Postload files to load:
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: tcl: generating interp init script
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: nsmain: AOLserver/3.3.1+ad13 running
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: serv: waiting for warmup
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: serv: warmed up
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: socks: idle [23/Feb/2002:14:24:17][-69148715.-67282747][-sched-] Notice: sched: starting
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: sched: waiting for idle
[23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: sched: idle [23/Feb/2002:14:24:17][-69148715.-800799][-main-] Notice: nssock: listening on
[23/Feb/2002:14:24:17][-69148715.-978915][-nssock-] Notice: nssock: starting
[23/Feb/2002:14:24:17][-69148715.-978915][-nssock-] Notice: nssock: accepting connections


I tested this release on Win98 and it would not work.  Win98's thread support is vastly inferior to NT/W2K/XP--I doubt you will get it working.  Sorry.

An option (if you have a little cash to burn) would be to upgrade to 2k/XP or get VMware and run Linux in a virtual machine.

Hi, I test the package AOLserver 3.3.1+ad13 for Win32 and Oracle8.1.7 and ACS3.X(acs-3-4-10-R20010211) ! It work well ! But I also need nsgd.dll ! Please C. R. Oldham to compile the NSGD module for us OK ?
It might be easier to try your setup with my binaries of AOLserver 4 beta 8. The installer includes nsgd and many other modules.

Compiling nsgd is a lot of work because it depends on so many libraries. See step #8 in my AOLserver build instructions. The nsgd sources on SourceForge also need a patch to compile on Windows. Because nsgd has gotten almost no testing on Windows, you might find some more bugs.


Sorry, I just don't have the time or the resources to build nsgd.


Hi Jamie Rasmussen and C. R. Oldham , Thank you very mush ! I will Try AOL4 on WIN32 with Jamie's suggestion !