Ok, I’ve been pulling my hair out for about a week on this stupid ColdFusion 9 installer. Seriously, it’s been a nightmare for me!

I’m running RHEL 5.5 32-bit, but I suspect this problem will happen to anyone downloading the free ColdFusion 9 installer from Adobe (until they fix it). The Developer and Trial versions get no support, even if you are trying to test before upgrading from a licensed version of MX 7. Luckily I put up enough stink on Twitter that I got around this ridiculous policy (thanks to @Adobe_Care). I know I was a bit of a troll, but seriously, when someone is tries to help your company fix your product, you should help them back. Maybe I should have used the secret phrase SHIBBOLEET to get past the basic support techs (hat tip: @jsternberg)… I’ve also gotta thank @cfjedimaster and @fymd for at least trying to help me out.

So here is the problem, the Cold Fusion installer scripts have historically set the BLOCKSIZE variable to 32768. I have no idea why people do this, BLOCKSIZE is a reserved variable in Unix/Linux for the filesystem. It’s not like the script needs to use the variable BLOCKSIZE… the script could use IGNORAMUS as the variable name. The problem with this script compared to the installer script from CF MX 7 (and probably 8) is that 9 compares the “needed space” with a blocksize set to 512 to a df without changing the blocksize to 512.

Basically this is what the free developer script does:

You’ll see that I actually have plenty of space:

The discrepancy is because the installer script runs df -P to calculate the free space after it sets the BLOCKSIZE to 32768 and then it compares it against a number with a BLOCKSIZE calculated at 512. Here’s a video I made for Adobe support…

I knew if I included -B 512 in the DF command, it would screw up all the checksums and mess up the file extraction points from the file. I opened up the file and tried renaming the BLOCKSIZE variable to ZLOCKSIZE, I knew this shouldn’t mess up the checksum’s for file extraction… but it did because after saving the new file, the file size increased by 1 byte.

Then it struck me, what if I piped the script through sed and did a search/replace. This was the key to success for my issue. This was the command I used:

Note the IGNORAMUS has just as many characters (and thus bytes) as BLOCKSIZE. Ultimately this renamed the variable, $BLOCKSIZE and $OS_BLOCKSIZE… but that doesn’t matter, because neither one of these variable names are important to the script, as long as they are consistent with each other. The file size remained the same after doing this, which gave me a little hope.

Then I set the BLOCKSIZE system variable to 512 to match the original OS_BLOCKSIZE variable, now OS_IGNORAMUS. This way, when the df command runs, it is compared against the same blocksizes.

And there you have it, the installer ran like a beaut, no errors and now I have the development version of ColdFusion running without any issues (I did have to go in an change the group of the CFIDE dir, but that’s fine). I haven’t messed around with it yet, I wanted to post this first. Apparently I am the only person to have this problem. Hopefully Adobe will fix their installer script so no one else has to go through this.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.