Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

Alias
  (email not shown publicly)
http://ali.as/

Journal of Alias (5735)

Tuesday January 24, 2006
10:18 PM

Stephen Steneker's CamelPack claims the metre of beer!

[ #28462 ]

After an initial rejection due to networking CPAN.pm failures (reports on which have been fed back into RT and will hopefully be fixed before 5.8.8), Stephen Steneker's second submission of his Perl CamelPack 5.8.7 passed all 9 points and he claims the reward of a vertical metre of beer.

Stephen (back row centre in this picture) is the co-ordinator of Sydney.pm, but this will be his first ever CPAN upload. He even went the extra step of producing us a 5.6.1 version of the CamelPack for version dependency testing purposes.

In typical Australia fashion and in an excellent use of the "you may steal mercilessly" rule, he simply bundled together ActivePerl 5.8.7, the Bloodshed Dev-C editor (which installs at the same time a working MinGW environment), and Microsoft's nmake. And It Just Works (and even maintains compatibility with ActivePerl's PPM binary packages)

To avoid licensing issues, rather than embed the installers in his main installer, his installer downloads them on the fly during the install and they Do The Right Thing. This also means that the CamelPack comes in at only 345k.

If a little crude, his solution worked well, was pulled together quickly, and should be easily repeatable for new Perl versions. And happily for me, I get to deliver his beer in person since I plan to be in town for the February Sydney.pm meeting.

He just edged out Carl Franks' Vanilla Perl. (which I won't link to because he has bandwidth issues where it is hosted)

Carl took the opposite approach with Vanilla and compiled gcc, a set of unix tools, and perl itself all from scratch specifically for Windows, and then wrapped it up in a unified installer (total size about 15meg).

However, he was tripped up by the same networking problem (related to passive FTP and the Windows firewall) that caught Stephen out, and also suffered from a badly crashing gzip.exe. In the end, it may have actually come down to timezones, with Carl simply running out of ability to avoid sleep just as Stephen was waking up and starting on the problems from his initial rejection.

In the end, I suspect it will turn out that BOTH Perl distributions will live on and be useful. Stephen is keen to solve the problem of integrating CPAN with binary installs and solve the libfoo.dll problem (and was already working on it) so the CamelPack could well become an ideal "end user" Perl installation.

And because Vanilla Perl contains only the core Perl modules, and not the extra ActivePerl modules, it will serve as an ideal Perl install to run inside of Win32 PITA images, for testing CPAN distributions on Windows.

All in all, the competition was a resounding success, and now we should truly be able to install modules directly from CPAN across linux, mac, and Win32, without any undue pain. Well worth a metre of beer!

P.S. Photos of the beer presentation to follow :)

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Kudos to all! Getting a working installation of Perl for Windows (where "working" now means "can compile XS modules out of the box") is a worthy and important goal.
    --

    osfameron

  • While PXPerl seems to have "frozen" at the moment (the guy is a student after all). I would rather have seen someone step in to help on that one as I see this having the most "potential" as it is indepedent.

    I would much rather have the MingW install over the DEV-C++. Why install something like an IDE when 99.9% of the end users will never use it? Too much cruft.

    • I agree. That was the angle I was thinking of and might have tried myself, had I a Windows machine to actually do this on. (Ie. set up MingW, compile Perl with it, then package the lot together with an installer.)

      The ActiveState + Dev-C++ solution is good for contests (you get to win fast), but loads of bloat in practice.

      • I like the compatibility with PPM. In cases where you don't succeed in building an XS module yourself (for example because of dependency on external libriries which is not for newbies in C compilers), then you can always use a prebuilt PPM distribution, which is nice.

        But I sincerely dislike the idea that this installer installs an IDE for C++, just in order to compile XS modules.

        BTW Intrepid on Perlmonk told me earlier today he has built complex XS modules with MinGW to work with ActivePerl. If you know wha
      • Agree with comments on creating a "minimal" installer, based on a vanilla build of perl (or pxperl) and gcc/mingw toolchain. I'd love to do so, but am not interested in signing myself up for the ongoing build and testing of distinct binary releases... as that's yet another distro that can fall by the wayside. Aside from that, I only boot into Windows for testing ;-).

        In the interests of expediency, I simply packaged up some reliable (and maintained) tools in the most straightforward way possible. I would
        • Creating a new distribution, it seems to me, wouldn’t be a huge issue, if only there was an easy way for people beside the original author to repeat the process – ie. a build script, the one thing that PXPerl clearly lacks.

        • Well, not only that, but a managed to get a couple of people to look at simply taking it over the moving ahead on their own, or even to create a screencast of how to get MinGW set up with it.

          None of them were able to do it.

          If someone else is able to make it work, that would be great.

          • Are you saying you don't know how to get MinGW to work for PXPerl? Well, it works for me. I did have to delete a command line option, one that gcc for MinGW (?) apparently didn't support. The command line options that I have left are
            -g -O3 -fno-strict-aliasing
            (Use configure_pxperl, a script with a Tk GUI, to select the MinGW gcc compiler first.)
  • On a windows XP box that has never had perl installed, CamelPack does not get a working CPAN for me. Yes, it correctly installs ActiveState perl, dev-c++ toolchain and nmake. However there is no gzip, and no (gnu) tar installed. Without those two binaries, CPAN is pretty much useless. CPAN will start up but even a "cpan Bundle::CPAN" will not get very far! I'm also having problems even finding a pre-compiled gnu tar binary > 1.13 (which is already too old it seems for CPAN). So I fail to see how this