[Catalyst] PPM vs CPAN in a Windows Context

Hugh Lampert hlampert at earthlink.net
Fri Jun 30 20:29:11 CEST 2006


Nilson Santos Figueiredo Junior wrote:
>> OK, don't mean to sound like a whiner here, and I haven't spent any time
>> investigating the  various GCC packages, but it's making me laugh that
>> it's been suggested I download a C++ development package just so I can
>> get my perl modules to install.
>
> Although I'm primarily a Windows user, I can't really deny that the
> only one to blame in this situation is Windows itself for not having a
> way to easily build stuff yourself. *Every* other OS has this sort of
> things. Even those Linux distros that are completely targetted at the
> end user (such as Ubuntu) and don't come with a bundled compiler can
> have it easily installed with a mere "apt-get install gcc".
>
> I find it rather weird that the suggestion of downloading a C/C++
> development package in order to compile C/C++ code makes you laugh.
> It's like saying that downloading Perl in order to run Perl
> application makes you laugh. Clearly you've got a wicked sense of
> humor.
LOL.  I'm not downloading a C/C++ development package to compile C/C++ 
code.  If I had C/C++ code that I wrote that I wanted to compile, of 
course I would install a dev environment (in fact I would probably use 
the Visual Studio installed on my workstation).  I'm downloading it to 
install the *perl* modules I need for my *web* app, and the perl module 
installation process wants to compile C/C++ modules, which it can not do 
without my installing this C/C++ compiler (not really an obvious 
dependency).  I know if I wrote a C/C++ app, I wouldn't expect to be 
required to download a perl dev environment.

>> I know... I'm supposed to do that all myself, and I guess I will, but
>> for now I just don't have time.
>
> After downloading the setup file, it takes a double-click plus three
> aditional clicks in order to get it installed. I really can't imagine
> someone *this* busy.
>
It's not the download or installation time.  It's the analysis of the 
possible unintended consequences.  I have a number of applications I 
support in my development environment and I try to make as few radical 
changes as possible, so that everything continues to work.  I know I can 
download and install PPM's because they all go into the perl dev tree.  
I'm willing to try the CPAN shell as well, however installing all new 
dev environments with the effects they might have outside of C:\perl is 
risky.  If it's *only* 4 clicks that's fine - if it's 4 clicks and 2 
days of environment debugging that's not fine. 


>> I mean I only want to finish my small app. My boss is going to split his
>> gut when I tell him first I need to download a C++ dev package so I can
>> install the application framework that actually is written in perl.
>
> Catalyst's written in Perl. Most of its dependencies also are. But
> some of them have parts written in C/C++. How do you expect to compile
> C/C++ code without a C/C++ compiler?
I understand this.  What I would *like* is for someone to compile it for 
me and make it available in a PPM.  I also understand that that's not a 
given and the big boys all use CPAN.  One of these days I'll be a big 
boy also (probably when I have time to do more development work on my 
Linux box at home), but until then I'll take all the predigested pap I 
can get!

> I can't really figure what's the hassle about a 8MB download, some
> mouse clicks and about 1 or 2 minutes of setup time. I can't really
> figure out why your boss should even know or care about what you're
> using to get your job done.
>
The hassle is that we are a Windows shop and my boss only cares about 
results.  To roll out an .ASP application is only a matter of using the 
resources that are already installed in the development environment and 
on the production server (IIS, SQL Server 2000, etc.), so I'm already on 
thin ice with Apache and perl - although I've argued I can code more 
efficiently in perl than in the .NET environment.  If I have to 
radically alter the production server beyond Perl and Apache/mod_perl 
then the limb I am going out on will bend substantially more.

I do a lot of utility coding in Perl and when I was handed this 
assignment for a relatively simple web app I thought it would be an 
excellent opportunity to implement it in Catalyst, since I really don't 
like .NET. and don't know a thing about Ruby.  While doing the initial 
problem analysis and design work I saw that (apparently) all the needed 
Catalyst modules were available as PPM's. If that was indeed the case, 
then rolling out this app would be as simple as installing ActiveState 
on the production server, using PPM to install the required modules on 
the production server, and installing and configuring Apache/mod_perl on 
the production server.  I got permission to do that.  Now hopefully PAR 
will work out, or the list of production dependencies will increase 
dramatically along with the corresponding risk increase in unintended 
consequences in the production  environment.

>> Looks like I'll be sticking to whatever Catalyst modules are available
>> in PPM form for now. Not because I'm afraid of installing GCC, but
>> because I can't imagine altering the roll-out environment to the point
>> of installing UNIX emulation layers or C++ development packages just to
>> put this app into production.
>
> There's no need of installing UNIX emulation layers.
>
> If your worries are deployment related, you could easily use PAR,
> which would pack the already compiled DLLs in a single package.
> Production servers shouldn't need this installed.
I'll look into PAR.

> Also, unless it's something absolutely necessary, I'd suggest you
> against deploying it in a Windows server. It's somewhat of a hassle to
> get mod_perl or FastCGI working correctly under Windows, the best I've
> got so far is running Catalyst under Apache::Registry, since mod_perl
> crashes when using PerlModule directives and I can't manage to even
> compile FastCGI and it's related Perl module and the built-in server
> becomes really slow if you need to support IE clients directly
> connecting thanks to the necessary -k switch.
>
> -Nilson Santos F. Jr.
>
LOL.  That doesn't give me a warm and fuzzy.  I was counting on rolling 
it out on Windows.   What's the problem with mod_perl on Windows?






More information about the Catalyst mailing list