One of the problems I've been facing lately is because of Windows' combination of case-preservation and case-insensitivity in file names, specifically dealing with the 'version' and 'Version::Requirements' modules which are both required for ExtUtils::MakeMaker nowadays.

You end up with perl/lib/version/ as a filename, or perl/lib/Version/ and - usually the first one.

(in retrospect, Version::Requirements was a bad name for that module for exactly this reason - but if you come from a Unix background, it's not something you think of when naming your modules!)

I need to use the development version in order to get MYMETA files, which I plan to start using soon, so don't say 'The current release version doesn't use Version::Requirements, so you could use it!' That's just delaying the problem.

The fact is that an MSI will throw warnings when creating an installer that would install two files with names that would be the same, given Windows' file name semantics - and rightfully so. So creating builds that install the correct filename is now becoming a problem that I have to solve. And yes, this is delaying 5.12.4 and 5.14.x builds. I'm working on this as quickly as I can, given the other demands on my time. I think I have it solved now, and am running a test 5.12.4 x64 build right now. Then I'll start in on 5.14.1.

I have had a few people contact me in response to my request for help last week on FLOSS Weekly. If I haven't contacted you back yet, don't assume I've forgotten about you - I haven't. The same reasons for needing the help are the reasons I haven't contacted you back yet (that and I need to get a little more infrastructure written and in place!) I'll get to you soon!
The releasing modules will follow in due course in the next few days.

You can get it from 3 places:

A) the main site
B) the download mirror at
C) the googlecode download mirror at (non-exotic builds.)

If the links at any of those places don't work, please tell me.
I'm starting work on being able to build 5.14.0.

And yes, a Perl::Dist::WiX build works sans-testing so far. (I just added the last change in Perl::Dist::WiX to get EU::MM upgraded, and I'm trying that now. Otherwise, FCGI will not build.)

While the Strawberry-BuildPerl-5140 repository is there, there are no changesets in it yet.

(If you're wondering, the release-1.750 branch in BuildPerl-5140 is for the NEXT version of Perl::Dist::WiX, where I'm going to have the plugins do quite a bit more that they do in 1.500+.)
If there are no problems, this will become the next release version of Strawberry Perl on Thursday at 1200 UTC or so.

Same links as the previous entry, or you can go to to use my 'backup site', as well.

This should FINALLY fix the installation crashes, and allow the README file to load.
If there are no problems reported in 5-7 days, these will become the officially blessed releases of Strawberry Perl.

If you're not willing to test, go to and use the links on the front page (these aren't linked there yet, and won't be until official blessing.)

If you are, here they are! 32-bit: 64-bit: portable: (32-bit only, installs to C:\strawberry) (32-bit only, installs to D:\strawberry)

I'll work on the release notes and such over the next few days.

(Edited: corrected links)
Been a nervous day yesterday, (my parents and my fiancee finally got the chance to meet) but I do have 2 pieces of Strawberry news:

One, the two smoke machines are building a random version of Strawberry every night, using the code at No, there isn't a place where the code so built is being uploaded yet. I intend on that, in order to provide a 'daily alpha' for those that want to try them.

What IS being done is that I (and one other person so far) get what the screen output of the smokers are doing as an e-mail. If you want to be on that list, just contact me here for now (I'll probably make it a mailing list eventually.)

One of the smoke machines also smokes CPAN, with the output from that going into the CPAN Testers Metabase per normal procedures (I'll be bringing up the other one soon, and making the current one smoke using 64-bit Strawberry 5.12.2 instead of the 32-bit Strawberry 5.12.2 it's currently using.)

Two, Noting that the smoke machines have been running successfully (when I download the files first - I run them in 'don't get the files from the internet' mode) for the past 3-4 days, even though a check has been added to the build itself that all files in the .zip get entries in the .msi (the cause of the crashes in the .msi's for 5.12.x lately is that there have been files missing) - THERE WILL BE A RELEASE SOON.

This will be the 'February' release. I'll try and get a beta of out after this is done, but with the release process for perl the way it is (with only one month between .0 and .1), we may end up waiting until for a non-beta.

I'm going to release-candidate mode as of this point, and the links to the builds will be here and on the perl-win32 list, as well as e-mailed to the 'private list' of interested people I have once they're built and uploaded (which should be Monday night/Tuesday morning, hopefully)

I'm locking down the minicpan I'll use for the builds to be the one I pull MONDAY, the 9th at 1700 UTC (11am US Mountain Daylight time) - my automated pulling for the smoke machines does it at my 11am, I'll just copy off the contents of Monday's pull. will be the LAST 5.10 build built. No more updates for 5.10 Strawberry, it's done, stick a fork in it!
(but not crotchety) CPU that caused the problems with Math::BigInt::GMP.

The fix is to change out the libgmp library, and this will be tested later today.

See or for more information.

In other news, we've fixed the 'missing-README' bug - the README file (and a few links, as well) were accidental casualties of the 'pluggable-Perl-version' move.

So hopefully I'll be able to build a Beta 1 this weekend.
5.12.3 build is being painful, but there is progress. I got a quick response from the maintainers of the Math::Big* modules on one issue, but there's another I haven't reported to them yet - nor do I know whether it's their issue or mine! Math::BigInt::GMP is ABENDing during its tests. This could be caused by the build of libgmp I'm using, (which was built from a mercurial checkout from last year) so I'm going to put fixing that off until after Beta 1, and just skip it for now... problem being that it's near the bottom of a dependency tree, so all those modules will have to be yanked for Beta 1.

But at least a build of Strawberry Perl 5.12.3 will be available to investigate with!
Built 5.10.1 successfully again (hit a bug that made me surprised it ever built before) and 5.12.3 built through perl, at least, before it broke. (ran into the fact that I forgot to specify where pari for 5.12.3 lives.) I fixed that, and I'm doing a completely non-forced build of 5.12.3 to make sure everything works fine, then I'm going to chase after the missing-README bug tomorrow.

Oh, and I have a code-signing certificate, so I can sign the .msi's now. No more off-putting yellow message about installing unsigned software. Instead, there'll be a blue message in the same place - if I remember to go and sign before uploading. (my signature provider only has a 'new-style' signing server, so I've got to copy the files up to my Windows 7 machine before I sign and upload them.)

So, Beta 1 and Beta 1 should be up within the next few days, I hope.
FINALLY got the beta out... took longer than I expected. Because of that, I'm not building a 64-bit version this time. I will build it for the final. October release MAY end up being released the first weekend of November at this rate - I only have so much time after work and on the weekends.

I DID get the code to have right-click/double-click settings for .pl files added. Right now, they're mandatory - after the October release, I'll throw a switch in.

At any rate, here are the links (I'll have to edit the beta page tomorrow):
I ended up polishing Strawberry Perl off this last weekend, instead (in between sessions of General Conference.) I'll post in my personal journal tonight as to why, and crosspost it here.

I'm testing the first 5.12.2 build this morning, and if all goes well, a beta should be up Tuesday night, and the build modules Wednesday night.

I've also got the opportunity to talk to some people who use Strawberry, and they REALLY want a .pl association - so I'll be adding it after the beta, if not before.
There is some stress going on in my personal life, but Strawberry Perl is rolling forward.

Two major things are happening:

1) Making the perl-building process itself pluggable. This is 99% done, and development versions with this code, and the plugins required to use them, will be released over the next few days.

2) Allowing the user to choose how much of an "on top of Strawberry" distribution is to be installed.

I'll be gone over the weekend, (Friday to Sunday) but should be back online and working Monday or Tuesday. If 5.12.2 is out by then, I'll release a beta version of it then.

I've also checking why a "Strawberry-process" 5.13.4 won't work ( ), and checking how well a branch of ExtUtils::ParseXS will work for Strawberry (answer: we're working on it.)
The locations are as follows: [85.4 MB (89,592,320 bytes)] [108 MB (113,595,865 bytes)]

Since this is 5.10 based, it's not a relocatable version - it installs to C:\strawberry\ only. The intent is that Alpha 3 will be 5.12 based, and therefore, will be.

Two small bugs already found:
1) the README.txt file isn't as fleshed out as I like (or as Strawberry Beta 2's was) - it was a matter of running out of time before I realised my error.
2) SDL got installed into site - I had to pin the version and forgot to tell it the M::B directions for installing into vendor.

I'll flesh out the release notes and make a better announcement (with a section of dedicated to this) later today.

The plan is (and I think we'll make it) to have Strawberry Perl Professional Alpha 2 out for what I call Pioneer Day (July 24th, a week from today, otherwise known as Padre's 2nd Birthday. Me, I think it's gotten into the terrible twos a little early!)

Here is what will be included:

  1. All modules from Alpha 1 are updated.

  2. Most modules from current versions of Task::Kensho, Task::Moose, and Task::Catalyst are included. (a few do not build, or do things that Windows does not like.)

  3. Frozen Bubble is now included.

  4. Padre 0.64 is included.

  5. The CPAN Testers 2.0 toolchain will be included - you'll still have to go and configure it yourself, however. (I'd like Alpha 3 to contain a graphical configurator for CT2.0, as well as a few other things. Alias' wxFormBuilder work will help much here.)

Right now, I'm working on polish and verifying with stakeholders what modules should be put in or taken out.

If you have any particular requests, or any CPAN module fixes that need to go in, (icons for a few sites/programs would be nice) contact me now, because I'll be using the same minicpan that the Strawberry RC's will be using to build SPPα2, and the code for building it is at lib/Perl/Dist/, among other things, contains the list of modules that will be installed.

It's at the usual place:

This fixes the bugs that were in Beta 1, adds some polish, and updates all modules.

If your modules are in Strawberry, consider this your warning: the minicpan will be pulled in 96 hours - 11pm Wednesday the 21st GMT - for the release candidates.

Right now, I'm using it as a basis for Strawberry Perl Professional ( Alpha 2 - I'm doing a test compilation right now, and have been for the last 2 days.

See the next post for the news about that.
But now I'm doing a last runthrough of Strawberry Perl July 2010 Beta 2. If this runthrough works, I'll build and upload it tomorrow (which will come in about 30 minutes)

CPAN Testers 2.0 works great, even on a "Strawberry x64" system. - in fact, that's what I'm testing it out on right now. Once I build Beta 2, I'll wipe out any leftovers of the current installation, and then reinstall Beta 2, the CT2 stuff, and the stuff I want for my next generation of my website (which is being written in Catalyst as my own personal "how does this work?" test. I'll put it up on BitBucket once it's a little more fleshed out...)

Then it will finally be time for Strawberry Professional Alpha 2 to be tried (and hopefully not found wanting.) There will still be stuff that needs to wait for an Alpha 3, but at least there will be a refresh out there.

Now I've got to go pick up my brother from work (he had to be dropped off today), fold clothes, and do dishes.
I've got to do these 3 things in order first.

1) Take 2 days to get home from YAPC. (I was crazy enough to do flipping GREYHOUND from Utah.)
2) Test and Build Strawberry Perl July 2010 Beta 2
3) Test and Build SP Pro Alpha 2.

So plan on 2 weeks.

I've also got a talk idea I should start mulling over in my mind, too, for the next one.
The final portions of the Corporate, Embedded, and Multi-user Strawberry Perl grant have been completed.

There were three main parts to the grant:

1) A script that allowed the local::lib module to save its settings on Windows easily.

This script is complete, and is available from CPAN and has an SVN repository for future changes.

2) A merge module that allows other people to build distributions on top of Strawberry Perl.

The merge module started being generated with the January 2010 releases of Strawberry Perl, although I did not feel comfortable documenting how to use it at that time.

"Strawberry Perl Professional Alpha 1" and the "Strawberry Perl + Padre 0.56" installers both used this merge module.

It was improved for the April 2010 release of Strawberry Perl, and initial directions for building a "Strawberry Perl plus..." distribution using it are now available and at

This portion of the grant was completed first, basically.

3) The ability to choose where Strawberry Perl was installed.

There was a bug found in Perl that needs fixed in order for 5.10.x versions of Strawberry Perl to be easily movable.

However, 5.12.0 did not have this bug, and the ability to choose where Strawberry Perl was installed was made available in the April 2010 release of that version of Perl.

This ability was improved for future releases. (April 2010 used a script and a hard-coded file list to do the relocation, due to lack of time to fix bugs in the relocation DLL, while future releases [including the July 2010 betas] will use a (now completed) DLL for the installer, and generate the list of files that need processing semi-automatically. A script is also available for .zip packages.)

The merge modules for 5.12.0 also incorporate this capability.

There are limitations to the location that can be chosen, but now the 5.12.x (and future) versions of Strawberry Perl can be installed on any drive, and can be installed in any directory path that contains no spaces and only uses a basic set of characters.

This was the main portion of the grant that was worked on after January 2010.

The current versions of Perl::Dist::WiX (1.200001) and Perl::Dist::Strawberry (2.10) that are available on CPAN will generate merge modules, or use them, when told to do so, and will create relocatable distributions when told to do so.

During the grant period, it also became possible to build Strawberry Perl for x64 processors. This has also been done.

I have had fun, learned a lot, and am very relieved.
I wanted to throttle Strawberry-chan's neck for a day or two there - a bug that got fixed in Moose revealed a few bugs in the Strawberry build toolchain - which just now got found and fixed. Took 2 days to find.

Again, beta site is - what got fixed and added is listed there.

64-bit is being uploaded tonight, the other builds got uploaded a few days ago. Release notes pages, the updated toolchain, and that type of stuff will be up tomorrow, so don't be surprised if those aren't up yet.

This includes the first Strawberry build of 5.12.1, including a portable build.


May. 23rd, 2010 11:21 pm
I've been sick the last few days (that kind of thing happens) so it's delayed the pre-testing of July 2010 Beta 1 just a little bit.

Hopefully, it'll be out Tuesday or Wednesday. (I intended on tomorrow, but it only now got most-of-the-way-built.)

At any rate, I forgot this in the last post, so adding it in again.

Thanks to the Ironman people for fixing the aggregator, by the way... I figured it would be something simple like that, I just didn't know what.
The C++ version of the relocation code looks like it's FINALLY starting to shine.

So I'll probably be releasing Beta 1 early this next week.

As for what mst's talk should be, I'd like to see him turn blue in the face... *grin*

So my proposed title is "Why Module::Build is better for installing your CPAN distributions than ExtUtils::MakeMaker".

And I like the idea of having his hair orange - it IS the official color of this blog, after all. (although I do have to admit the idea of seeing him do a Kojak haircut is funny, too.)
Strawberry Perl 5.12.1 - where is it?

Well, this time around, it's not going to be that quick. I've tested 5.12.1, and it builds, but that's not the only thing that needs doing!

This time around, I'm working on a "bug fix" round - getting rid of the small nitpicks, with not much real new functionality. So right now, I'm doing that. I plan on taking a week or two to do the bug-fixing, and you can expect the first beta (which will include 5.12.1) out on June 1st, if not sooner.

That way, I hope that the "July 2009" release round can be out around the first of the month, instead of the last of the month.
There are 3 bugs that will be fixed in the rebuild. Two of those bugs are in the PPM support, (the third one is in the building) and the combination of them is serious enough to require a rebuild of the 5.12.0 versions of Strawberry Perl: - PPM installs html files to the root directory (instead of not installing them at all) - 5.10 repositories configured in 5.12. - 5.12.0 contains libperl511.a, not libperl512.a (this affects PAR-Packer)

Bug #43243 affects all previous versions of Strawberry Perl, but the proposed fix does not require a rebuild for 5.8.9 and 5.10.1. Instead, a distribution can be downloaded.

This package will also fix bug #57197 for 32-bit 5.12 versions, so feel free to install it there, too, until the rebuild arrives.

HOWEVER, 64-bit 5.12 versions don't have an "old-style" PPM repository that Strawberry can use, and the version of PPM that we have only supports old-style repositories.

So a true fix for those versions will have to wait until we can code (or have contributed to us) a version of PPM that can use new-style repositories. (see bug #57197 for details.)

Bug #57205 only affects, and is the bug that truly requires the rebuild - there is no way I can create a CPAN distribution that would work to fix it.

To download the proposed PPM fix:


Just run cpanp install at the command prompt and the fixed version will be installed.


If you have CPANPLUS installed, the previous directions should work for you as well.

If not, follow these directions instead:

ptar -xzvf PPM-0.01_03.tar.gz
del PPM-0.01_03.tar.gz
cd PPM-0.01_03
cpan .
cd ..
rmdir /s /q PPM-0.01_03

If people could try this and report back how well it works for them in the next few days, it'd be appreciated.
Been a long few days, but Strawberry Perl April 2010 (why do I want to keep typing 2009?) is out.

Get it at

Two major things have been added:

1) There is a version of Strawberry Perl that can relocate on installation - the 5.12.0 builds. 5.10.1 and 5.8.9 will still be restricted to C:\strawberry\ or D:\strawberry\, depending on the file downloaded.
2) Additional modules and scripts have been added, and everything has been updated.

Plans for July 2010 (which will only include 5.12.1 and 5.10.1 builds - April is the last official 5.8.9 build) include a "thumb-drive-portable" 5.12.1 .zip file (instead of the current 5.10.1 thumb-portable), as well as a clean-up of all the reported/encountered bugs and polishing.

If MYMETA.yml support becomes universal, the build tools for Strawberry Perl will use it, as well.

I'll try and be around on irc:// for a few days to take and check bug reports, but otherwise I'll be taking a break until Monday. Then I'll start work on July 2010 (or a rebuild of April 2010 if major problems are encountered.)

Soon, I'll get the merge-module documentation up and on the site (I meant to do it for January, but decided to wait until April to get it announced and documented.)
It turns out that the custom actions for clearing the Strawberry directories of extra files on uninstall are still crashing on 64-bit machines, so patches will be required in order to bypass them for the moment.

The second RC will start building tonight or tomorrow, however.

(My family's computer went down 2 days ago - so when my brothers need to use a computer for online classes, or my sister wants to check her e-mail, they have to use this one. I've told them no games, however.)
... at least for the 5.10.1 versions.

It's not a problem with Perl, it's just a packaging bug.

It turns out that I forgot to update the code that generates the link to in the start menu to account for the fact that 5.12.0 is now on the front page of that site.

I realized it just in time to correct the code before I built the 64-bit versions, and I'm rebuilding the 32-bit versions of 5.12.0 so that they include the link, because they would not have otherwise. The correction is at (and I also had to copy a line I forgot to copy in revision 12043) for those who are curious.

I'm not going to rebuild the 5.10.1 versions (all 3 of them) for this, but if there are no other bugs that aren't already known found by, say, Wednesday noon my time (UTC 6pm), I'll rebuild the affected files, upload them to,, and (yes, we have a place to upload files there, too!), and announce the final release.
... are being uploaded as we speak.

Instead of listing all the filenames here (there are 11 30+ MB files to upload this time), I've put all the links on the beta page at for your testing and enjoyment.

As of writing this (6:00pm Sunday, UTC time):

4 of those files are created and uploaded
3 of those files are created, and are in my upload queue or uploading right now
2 of those files are being created at this moment
2 of those files haven't started the creation process yet (the 64-bit 5.12 RC's).

The release notes and other documentation will show up over the next few days as I get them edited.

Yes, we will get the April 2010 versions released before May, if all goes well! :)
Strawberry Perl April 2010 Beta 2 has been up for 2 days now.

This includes a beta using the final release of 5.12.0.

The reason I've been delaying an announcement is that there is a problem with 2 of the files. Specifically, the 5.12.0 .msi files.

In Beta 2, I added a C++ DLL (actually, added more code to the DLL that was already there) to do the relocation, instead of using the Perl script that was called in Beta 1.

Calling another program from an MSI is just a little fragile - the cancel button will not work while the other program is running, as far as I understand, and it can only report "yes-or-no" as to whether it succeeded back to the MSI (a DLL custom action can pass more information about where it went wrong back to the MSI if written correctly) - but since I had no reports, I have to assume that it was working fine for everybody. I really did not want to have those limitations to apply to a final release if I could help it.

At any rate, I tested the DLL twice (on a 32-bit Windows XP VM, and a 64-bit Windows 7 machine) before I built Beta 2, and it worked on my systems. But it's going into some sort of infinite loop on other people's systems, and it doesn't respond to the cancel button. And I didn't put enough logging information to be able to have other people do a logging installation to be able to help me find the problem. I was trying to work too fast to get this done, with limited time - I had been beating my head against a bug in passing the relocation information to the C++ DLL for 2 days, and then I had to play "whack-a-mole" with a few build problems for the next 2 days.

The decision I'm making is that the C++ code will still be there, I just won't use it for the April final. Instead, I'll make the build be able to switch between the Perl script and the C++ dll, and use the Perl script (that Beta 1 used, and that the .zip's use) for the April release .msi's.

After the April release, I'll contact a few people with an .msi that does more logging in the C++ dll, and see what the logs tell me is the problem, so we can correct this before July 2010 Beta 1 (which should be out in early-to-mid June.)

If you want to test the 5.12.0 version of Strawberry, use the Beta 2 .zip files, and read the README file in order to find directions on how to change Strawberry's location from C:\strawberry to where you want to put it.

If you want to try the local::lib helper that is installed with Beta 2, run llw32helper from the command prompt.

My apologies to everyone who tried the .msi's already.



June 2011

192021 22232425

Style Credit


RSS Atom
Page generated Sep. 25th, 2017 01:29 pm
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags

Most Popular Tags