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

Strawberry Perl 5.10.0 Released!

Journal written by Alias (5735) and posted by brian_d_foy on 2007.12.23 13:09   Printer-friendly

After over a year since the last release, it is with equal parts of pride and relief that I present Strawberry Perl 5.10, the next major release of the Vanilla Perl Project's flagship Perl distribution. This release represents the beginning of the third generation of release code. The first generation was a simple build script, and was used to create the original Vanilla Perl distribution. The second generation moved from a simple script to a config-driven model with Perl::Dist::Builder, and gave us create the original Strawberry Perl. The new Perl::Dist::Inno takes this beyond simple configuration and provides a complete object heirachy for modeling and compiling Win32 Perl distributions.

So now not only can you replicate Strawberry Perl yourself, you can literally sub-class Strawberry Perl and build your own custom distributions in as little as 10 lines of code. This release also sees more attention paid to Strawberry Perl's CPAN capabilities, and in particular to its out-of-the-box functionality.

The new CPAN client setup is completely zero-configuration, with CPAN::SQLite pre-installed for reduced memory consumption and a http://cpan.strawberryperl.com/ redirector, so that we can keep zero-conf users pointing at a good default repository and collect statistics on the CPAN modules that Win32 users care about the most. We've also added some little touches like a pointing the "Strawberry Perl Website" link that goes to a release-specific page, so we can update with errata and so on.

On the module side things remain much the same. We retain the previous model of bundling a large number of toolchain and CPAN-related modules, but don't bundle modules that add general functionality. For people that would like more modules pre-installed, stay tuned for information on the long-awaited "Chocolate Perl" distribution.

While the new releases is stable and very usable, it lacks in a few areas we will be addressing in the next release cycle.

  • Relocation: The new "relocatable" magic for Perl 5.10 is implemented as an optional Configure parameter. Win32 Perl releases do NOT, unfortunately, use Configure. As such, relocation will not be available in this release cycle of Strawberry Perl. I hope to investigate workarounds for this problem at a later date.
  • Windows Vista: The MinGW compiler system has known problems on Vista with the current directory setup, and as such Strawberry Perl does not support Vista at this time. I have some ideas on how to fix this, but don't want to potentially burdon non-Vista users with the complications it might create. So we may well see a specific Vista version released separately.

HOWEVER, minus those few issues, I'm very happy with the quality of the new release, and look forward to increased sleep and some time off. Enjoy.

Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Great!! (Score:1)

    by aero (8351) on 2007.12.23 6:35 (#59664)
    Great work!!
    I've installed.
    But cpan gives following error message.

    -------------------------------------------------
    C:\strawberry>cpan
    CPAN: File::HomeDir loaded ok (v0.67)

    cpan shell -- CPAN exploration and modules installation (v1.9205)
    ReadLine support enabled

    cpan> r
    DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line 271 at
    C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Search.pm line 86, line 3.
    Catching error: 'DBD::SQLite::db prepare failed: no such table: dists(1) at dbdi
    mp.c line 271 at C:\\strawberry\\perl\\site\\lib/CPAN/SQLite/DBI/Search.pm line
    86, line 3.
    ' at C:/strawberry/perl/lib/CPAN.pm line 281
                    CPAN::shell() called at C:\strawberry\perl\bin/cpan.bat line 211

    cpan> install Tk
    DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line 271 at
    C:\strawberry\perl\site\lib/CPAN/SQLite/DBI/Search.pm line 86, line 4.
    Catching error: 'DBD::SQLite::db prepare failed: no such table: dists(1) at dbdi
    mp.c line 271 at C:\\strawberry\\perl\\site\\lib/CPAN/SQLite/DBI/Search.pm line
    86, line 4.
    ' at C:/strawberry/perl/lib/CPAN.pm line 281
                    CPAN::shell() called at C:\strawberry\perl\bin/cpan.bat line 211
    -------------------------------------------------

    What's wrong here?
  • many win user will complain that it install in root dir. i don't like that either. is it for purpose or accidental?
  • Installed here (Score:2)

    by AndyArmstrong (7200) on 2007.12.23 14:06 (#59677) Homepage Journal
    I've just installed it on my Strawberry XP VM. I turned off use_sqlite because cpan was (I think) getting confused by something that a previous Strawberry left. It appears to work fine with use_sqlite disabled. I'm just doing a cpan upgrade now.
  • Can work on Vista (Score:1)

    by the way (155) on 2007.12.24 16:19 (#59697)
    For some reason, it works fine on Vista for me. I had to set "$self->{XS_DEFINE_VERSION} = '';" to avoid a problem with XS_VERSION_BOOTCHECK, and I had to remove the backslashes in: $self->{DEFINE_VERSION} = '-D$(VERSION_MACRO)="$(VERSION)"'; . I just modified ExtUtils\MM_Any.pm directly to fix these two things, but I'm sure there's a better way using the OS-specific files in ExtUtils.

    Note that I have UAC disabled - I expect that disabling UAC whilst installing on Vista is a Good Thing.
  • by persicom (321) on 2007.12.25 1:31 (#59708)
    Trolling google for MinGW/Vista I saw a post suggesting adding the bin path of cc1.exe to PATH. that got me futher along. but now Tk dies with a compile error and lots of warnings. Who do I report this to and how? Thanks
    --
    "If you were supposed to understand it, we wouldn't call it code." - FedEx
  • by snaury (8356) on 2007.12.25 9:57 (#59709)
    What really striked me is that you globally set TERM=dumb. This is imho a very bad thing, because it was interfering with my cygwin until I finally noticed where it was going from. I think setting global environment is a bad thing, it would be much better to provide a batch file that sets all necessary variables and then leaves command prompt. Users who need it globally will set it themselves and it won't unnecessarily clobber environment for others. Also, when will you publish Perl::Dist::Strawberry on cpan (or whatever else I need to build strawberry myself)?
  • by snaury (8356) on 2007.12.25 10:43 (#59710)
    Also, I find it strange that your installer sets LIB to point to perl/bin instead of perl/lib/CORE (that's where libperl510.a is after all). Linker probably tries to link directly against .dll and succeeds, but I'm not sure if that's a really good thing.
  • by snaury (8356) on 2007.12.25 10:57 (#59711)
    Here's a script I'm using myself. I think it would be good if instead of changing global environment there would be a shortcut to such a batch file:

    @echo off
    set TERM=dumb
    set FTP_PASSIVE=1
    set PATH=C:\strawberry\c\bin;C:\strawberry\perl\bin;%PATH%
    set INCLUDE=C:\strawberry\c\include;C:\strawberry\perl\lib\CORE;%INCLUDE%
    set LIB=C:\strawberry\c\lib;C:\strawberry\perl\lib\CORE;%LIB%
    title Strawberry Perl Environment
    cmd /k
  • Windows Vista: The MinGW compiler system has known problems on Vista with the current directory setup, and as such Strawberry Perl does not support Vista at this time. I have some ideas on how to fix this, but don't want to potentially burdon non-Vista users with the complications it might create. So we may well see a specific Vista version released separately.
    As you can read in this thread on Perlmonks [perlmonks.org], there is a patch available for MinGW's gcc on Vista. It is apparently enough to fix build issues on XS modules using MinGW on Vista, so I'm hopeful that it might be enough to fix Strawberry Perl too.

    If I read it correctly, the problem was in incorrect parameter passing to some functions, and Vista catches it. I'm quite sure these function calls are actually just as incorrect on previous versions of Windows... so I see no reason why a patched gcc wouldn't work equally well on XP.