Forum OpenACS Q&A: Re: OpenACS 5 Install on Win2k
incredible work! I don't very much like the the OpenACS installation procedures, so I was very surprised to see a working windows installer...
My only comment is that it might be helpful to include a very first index.tcl page or an index to the html documentation so that a first time user would get feedback after he has "successfully" installed the server.
As I've written in the initial posting, our idea is to create a "cdrom" (or a single file for download) with a preconfigured system to reach unskilled users. So we are looking for an installer that includes OpenACS, Postgres and that automagically loads the data model into Postgres.
I asume that including OpenACS and the database creation scrip is easy, so the real challenge is probably Postgres. Do you consider including Postgres when the native Win32 version comes out? I think they said it's planned for 7.5...
As an alternative we are considering to distribute our preconfigured OpenACS code as a CygWin package and to try to get Apache/mod_nsd running under CygWin. However, I haven't yet figured out if it is possible to include custom packages in the CygWin installer and the mod_nsd stuff doesn't precisely attract me...
Please count on my support/work when including OpenACS and Postgres. I haven't got VC++ running here, but I'm sure to be able to get it somewhere...
The native Win32 PostgreSQL port is still under development, but I do think that would be the way to go when it is finally released. (It is scheduled for 7.5, but then, it was scheduled for 7.4 too.) It does seem like they are making good progress on it. I don't know much about the Cygwin installer or if it would be feasible to package up something separately. I've never used mod_nsd but I don't think it is being actively maintained so I'm not sure it would give a particularly rich OpenACS experience. I suspect the PostgreSQL team will build an installer for their binaries and it would probably be feasible to repackage into a single installer with AOLserver and OpenACS. One thing to consider is which OpenACS modules you need - the installer could become quite large. (Not an issue for CD.)
I don't know what you have considered for installer creation, but some of the commercial packages allow you to basically watch the system as you do an install manually or with someone else's installer and automagically create an installer that replicates the changes to files, the registry, etc. You might be able to do something like that to capture a minimal Cygwin install of PostgreSQL.
are you still maintaining your great AOLServer Windows distribution? Did you try the new PostgreSQL 8.0 native?
We (Juanjo Ruiz, Toni Vila and myself) have started to port several Project/Open modules to PostgreSQL with the goal to produce a windows distribution. Our "Project/Open Core Module" is already running, yeah! During this process we have found a minor issue with /library/tdom when using an installation path containing spaces ("ProgramFiles")... Also, there seem to be some issues with the PG 8.0 istself such as changed types in the pg_procs and something with "bit" etc. I'll raise this in another thread.
However, do you think you are going to support AOLServer 4.0.7 in the future? I guess it's going to be a hassle to compile all these modules again, right?
Another question is: Do you think it would be possible to combine your installer with the PostgreSQL installer and with the OpenACS 5.1 code in order to create a "single unified OpenACS" installer? Imagine, people would only need to press "OK" three times...
I put a zip of recent AOLserver binaries up at http://www.jamierasmussen.com/download/
AOLserver 4.1 is still Alpha, when 4.1 final is released I'm hoping to rebuild the installer and host it on SourceForge. The installer by Vlassis uses PostgreSQL on Cygwin and some fairly recent binaries from me. The native PostgreSQL installer is quite nice. My personal preference would be to have separate (but simple, GUI-based) installers for the database, web server, and OpenACS / dotLRN, since I think maintaining a combined installer will be more difficult. Vlassis' installer does have some nice features, but requires downloading a whole Java distribution, etc.
thanks for the link. That's great news.
We've managed to install PG 8.0.0 dev3 on Win2k yesterday. After checking out HEAD with the changes from Jeff there was a small issues with timezones, but we could source the SQL manually. The PG installer is great, just make sure to enter different passwords for the postgres Win2k user and the postgres database user...
Concerning the "unified installer": The Postgres 8.0 installer already contains the creation of a new Win2k user ("postgres"), hierarchical installation options (PG, doc, ODBC drivers, etc) and some sanity checks. So maybe it could be actually easier to start with the PG installer and add code to create an additional "aolserver" user and to extract the AOLServer and OpenACS files into some directories. I understand that the main complexity of your installer is really to put together all these modules, right?
What's missing then for us is loading a database dump into PG and to start a browser on the right host/port because "non sophisticated users" want to see results immeditately. So we would include a sample "company configuration" as a DB dump with a lot of predefined users, customers, prices, projects, forum discussions and a special home page that would let the user log in as one of several demo users. Checkout http://ptdemo.dnsalias.com/ for an example of what I mean.
What development environment do you use to compile your installer? Is it just M$ Dev Studio?
The AOLserver installer I built used some custome Perl wrappers to PerlMSI, which is part of ActiveState's Perl Dev Kit. MSI installers have some nice features, but I may switch to Inno Setup for the next installer, since Inno Setup is free to download and rather easy to use, which would make it easier for other people to contribute to the installer code. It will depend on how much free time I have before 4.1 goes final. I think PostgreSQL uses WiX to build an MSI installer from an XML source file - I haven't used that tool myself so I'm not certain how hard it would be to do what you suggest.
Installing AOLserver from a zip file is only slightly harder than using an installer. The main difficulty in building AOLserver on Windows is that there are a lot of modules, some of which need to be tweaked to compile, and many of which have dependencies that you also have to track down and build.
more then a month has gone since our last attempts with OpenACS and Project/Open under Windows. We have used this time to port nearly all Project/Open functionality to PostgreSQL and to internationalize the code. This part of our project is finishing slowly (we're testing and writing a "QC-script" now, very challenging job ... ), so attention gets back to the Windows stuff.
So we've got an error here: AOLServer 4.0 beta 10 does strange things with GIF images. Please check this screenshot: http://www.project-open.com/aol4error.gif
Did you see something like this before? Is there a bug tracker for your distro where we could post errors in the future?
Apart from this bug we are going to work on porting the P/O filestorage module to windows, because it currently relies on "mv /tmp/file dir/file", "find dir -type f" and similar stuff...
Unfortunately the current build situation for AOLserver on Windows is a little confused, and definitely incomplete. Dossy's Tcl script does build the core just fine for Windows. I also hacked it up in order to build nsopenssl on Windows, but last I heard no one else has built any of the other modules that way. Dossy also was undecided whether to stick with a Tcl-based make script or just write nmake files for Windows.
If I ever find the time and motivation, I would like to try using one of the several Tcl-based make replacements for building AOLserve and all its modules on Windows - and maybe on Unix too. So far, having used none of them, I'm leaning towards bras, as it seems the most powerful and complete. (It even mentions "Recursive Make Considered Harmful" on its homepage, which is a good sign.)
thank a lot for the hint with "mv" and "find" in TCL. This probably saves me _a_lot_ of time.
> Jamie's old binary distribution
Yes in dead. I don't have all the M$ stuff running on my machine (http://panoptic.com/wiki/aolserver/1332) and my last M$ programming experiences is >8 years ago (Borland Pascal 7.0...), so it would probably take me _a_lot_ of time getting started again.
What's funny is that Vlassis also used Jamie's binary distribution. It seem that Vlassis with his "graphical installer" hasn't managed to compile all these modules necessary neither, because he's also using Jamie's stuff...
So you've got everything running at home? Would it be possible to post a ZIP of your binaries somewhere?
Bests, and thanks a lot for your replies,
I've finally managed to building AOLServer under Windows as described in http://panoptic.com/wiki/aolserver/1332 .
It actually has worked out relatively easily with only a few issues quickly resolved (HEAD didn't compile, so I had to copy the built.tcl from HEAD into version 4.0.7 which I happened to have in both source and binary distribution. Also, I had to tweak build.tcl by removing limits.obj and pools.obj from the make list).
However, my cool new AOLServer doesn't load the OpenACS modules when starting. How did you go ahead with this in your installation? Also, all of these libraries that Jamie describes in http://empoweringminds.mle.ie/openacs/aolserver_modules are missing.
I've checked around a bit but I'm not very familiar with AOLServer so it's a bit tricky for me to diagnose the issue(s)...
Vlassis is using a binary distribution from me, but he isn't using 4.0b10, he's using a nightly build of 4.1a from a couple of months ago. I've put another nightly build of 4.1a up at
http://jamierasmussen.com/download/ if you want to try that. There's no online bugtracker for my build. I'm afraid that this is an untested build from HEAD with some Win32 and other patches (and I haven't looked at the recent changes by Jim that it includes). But it does include all of the modules that OpenACS uses and many that OpenACS doesn't.
When I last checked, Dossy's script didn't build any non-core modules.
I've downloaded your nsd410a-bin-rel-20041101.zip binary distribution and more or less successfully installed it. However, when running it instead in Vlassis configuration instead of his 4.0 beta 10 version (not your 4.1 stuff...), I get the error:
"0-acs-init.tcl: error loading tdom: too many recursions".
I've tweaked a bit the tDom's pkgIndex by comparing it to the original and was able to make it working using:
package ifneeded tdom 0.7.8 "load [file join $dir libtdom078[info sharedlibextension]] tdom; source [file join $dir tdom.tcl]"
Using this command the infinite loop seems to disappear, but I'm now getting the error: "0-acs-init.tcl: error loading tdom: tDOM wasn't compiled for multithreading". Any idea?
There should be tDOM 0.8.0 binaries in the zip you downloaded from me. If you copied the files from my zip over an older installation of AOLserver you may be mixing files from two different version of tDOM? I'm not sure why you're getting the multithreading message. My zip just includes the pre-built win32 dlls from tdom.org - I think that download used to be a multithreaded build...
I'm afraid that's the only thing that comes to mind, if you don't figure it out, you might ask on the AOLserver mailing list and Zoran or someone else could know what's happening.
Is the nsxml compatibility layer still working?
thanks a lot.
> I don't have OpenACS installed at the moment
There is a very, very quick option for this. Just download the "Vlassis" installer and you'll have OpenACS running (on Cygwin PostgreSQL 7.3) within 3 minutes. Impressive really.
In order to test your distro, you would only have to replace Vlassis' "nsd4" subdirectory by your distro, and there you go. I imagine that testing in a final system is going to be much quicker and will produce less errors then with a partial configuration...
Btw., I've got OpenACS and Project/Open running with PostgreSQL 8.0 beta 3 on my Win2k box, and I haven't had a single problem, not with the install nor with the operations (there were some problems with beta-1 and beta-2 though). Jeff actually made some changes to HEAD during 5.1.1 for PG 8.0, so these changes should be in 5.1.2 now. So you actually might start to go ahead.
thanks for sending me the threaded tdom-0.8.0. I've installed it and AOLServer 4.1.0a loads correctly. Also, the load time for OpenACS has gone down remarkebly. Is there some whichcraft going on???
However, I'm now getting problems with some Project/Open transactions. For example I'm getting a timeout when I try to create a new company. The log file doesn't say anything in this case, it's as if I would never have selected the page. It does work fine with AOLServer 4.0.beta10, I've renamed the directory and it works fine now again.
So I think I'll have to do the same as Vlassis and revert to 4.0.beta10 again because I'm running out of time. However, I can provide you with my test setu-up here if you want. It consists of Vlassis' install results, replacing his C:\OpenACS\nsd4 by your 4.1.0a distro and by adding some P/O packages. I can send you the P/O packages as a ZIP if you want.
Do you still have the threaded tDOM-0.8.0 dlls? I was trying to install openacs into my aolserver on Windows XP yesterday. When I checked the server log, I got the same error you had - "tDOM wasn't compiled for multithreading." If you still have the files, can you email it to me at firstname.lastname@example.org? Also, did you just put all the dlls into lib directory under aolserver root directory?