Cosimo Streppone wrote:
It's _not_ that hard.
Perl has been good in the Windows world for long.
Strawberry has improved this a great deal.
Actually, our experience has been pretty horrendous. The problem for us has not been Perl but deploying Catalyst apps under Windows. We've used IIS and FastCGI, which eventual hard-won success, and we now have a 60-page installation guide as a result.

Strawberry for us had the same issues as ActiveState - a Perl distribution that worked fine, but neither was updated all that frequently, and both have no debugging support which makes memory leak tracing somewhere between very hard and impossible. In the end I built my own Perl, with MinGW, and found it only slightly harder than using Strawberry. This was because there had been a core bug in both distributions which broke DBI with a memory leak - since the indexing part of our app does tens of millions of SQL queries, we could never get it to run to completion under Windows. The time it took for the core patch to make it into the distribution was about four months.

On Windows, for the most part, Perl is the easy bit. Getting it to talk to some parts of Windows is a bit harder. Getting it to run to a production standard with Microsoft technology is almost unbelievably complex. It would probably be much easier with Cygwin, Apache, etc., but then, the whole point of them is to hide Windows, so that isn't really a help.

Some of our nasties included:

   * ActiveState's PerlEx induced memory errors in file access at a
     level below Perl -- these all went away under FastCGI
   * File locking under Windows is not always as sound as we'd like (we
     hit frequent deadlocks in KinoSearch, which depends on it)
   * CPAN installations depending on external libraries sometimes
     require help to find the right DLLs (e.g., SSL stuff, XML::LibXML,
     XML::LibXSLT) - this seems to be very non-standard across CPAN,
     with each module working entirely differently to find DLLs
   * Under MinGW, I have even had to manually edit export files to get
     DLLs working right
   * Windows permissions for FastCGI - let's not even go there! Have
     you any idea how many policy settings and permissions are involved
     in getting IIS and Perl FastCGI to work?

OK, a lot of this is not actually Perl, but you need a very solid background in operating systems in general, networking, DLLs, makefiles, etc., if you want to get the whole of Catalyst up from a solid basis.

I'd love to see a Strawberry-type distribution that included a solid Catalyst base and the bridge to FastCGI, preferably under both IIS and Apache, etc. Give it a proper installer, capable of handling enough about IIS/Apache configuration to get a base Catalyst application up and running, with decent performance under Windows. If we'd had this, we would have saved months of work, and this is not an exaggeration.

All the best
Stuart
--
Stuart Watt
ARM Product Developer
Information Balance
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to